簡體   English   中英

mysql選擇行優化星或名稱

[英]mysql selecting rows optimisation star or names

假設我有一個名為tablex的表:

ID,col1,col2,col3,col4,col5,col6.

考慮到處理中不需要col4,下列哪個代碼更快?

代碼1 - SELECT * FROM tablex

代碼2 - SELECT ID,col1,col2,col3,col5,col6 FROM tablex

(注意代碼2中缺少col4,因為它不需要,所有col都是80 varchars的文本,ID只是int,自動增量)

謝謝!

由於col4不需要被提取並通過連接傳遞,所以屬性的顯式列表將略微(或不是邊際)更快。

此外,如果使用查詢緩存,則緩存的結果集的大小將會減小,因此可以緩存更多結果集。

通常,您應該始終明確列出您的列(不僅出於性能原因,而且對於它們也是如此)。

這是你必須要做的基准測試。 對於大多數小型查詢,您很可能不會注意到任何差異。 如果col4是包含千兆字節大小的文件的BLOB,那么它們很可能是特定的第一列(不是*格式)會更快,因為每次都不需要獲取“無用的”千兆字節。

代碼2更快,但你應該自己運行一些測試來檢查它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM