1. 程式人生 > >提交訂單效能優化系列之013-測試SQL語句中少查詢幾個欄位(包括大欄位)

提交訂單效能優化系列之013-測試SQL語句中少查詢幾個欄位(包括大欄位)

概括總結

這一版本寫了兩個測試類,一個測試類中查詢全部欄位,另一個測試類中只查詢必要的欄位,然後對比效能。結論是:根據是減少的欄位的長度不同,效能會不同。具體請檢視下面的測試結果。

013版本更新說明

另外,準備了6個SQL檔案,從Version013Test10000Chars.sqlVersion013Test60000Chars.sql,分別代表商品詳情欄位是1000060000個字元。

測試結果

統計10次測試的平均值之後:

商品詳情字元數 效能差別
10000 (5217855 - 4975857) / 4975857 * 100% = 4.86%
20000 (5344632 - 4980057) / 4975857 * 100% = 7.32%
30000 (5838067 - 4995557) / 4995557 * 100% = 16.86%
40000 (5922177 - 5049710) / 5049710 * 100% = 17.27%
50000 (6120515 - 5048941) / 5048941 * 100% = 21.22%
60000 (6300907 - 5059011) / 5059011 * 100% = 24.54%

【備註】:不同的機器上的測試結果會不一樣,以上測試結果僅供參考。

測試結果說明

查詢的欄位長度越小,效能會越好,這基本上是一個常識了。但是一般的專案開發中,其實哪來那麼多長度超過10000的欄位呢,超過60000的就更少了。

比如說商品詳情,大部分情況下都只是上傳一些製作好的圖片,儲存在資料庫裡面的只是一個URL地址,平均來說,商品詳情可能只有1000個字元。

所以說,如果沒有特殊情況(比如專案中就是有很多欄位是超級大欄位),直接查詢全部欄位就好了,不需要額外處理。

原始碼