提交訂單效能優化系列之013-測試SQL語句中少查詢幾個欄位(包括大欄位)
阿新 • • 發佈:2018-12-13
概括總結
這一版本寫了兩個測試類,一個測試類中查詢全部欄位,另一個測試類中只查詢必要的欄位,然後對比效能。結論是:根據是減少的欄位的長度不同,效能會不同。具體請檢視下面的測試結果。
013版本更新說明
另外,準備了6個SQL檔案,從Version013Test10000Chars.sql
到Version013Test60000Chars.sql
,分別代表商品詳情欄位是10000
到60000
個字元。
測試結果
統計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個字元。
所以說,如果沒有特殊情況(比如專案中就是有很多欄位是超級大欄位),直接查詢全部欄位就好了,不需要額外處理。