2013-02-08 91 views

回答

1

從原始表中,實際查詢本身將花費相同的時間量。但是,返回結果會有所不同。而對於這樣一個簡單的查詢,這可能會佔據主導地位。

如果表中包含非常大的列,那麼記錄將跨越多個頁面(「溢出」頁面),則可能存在性能差異。我不認爲所有溢出頁面都會立即被讀入內存。因此,明確引用只包含而不包含的列的子集,包括大列可能會更快。這在MySQL中如何處理也可能取決於正在使用的文件系統。

但是,如果「表格」真的是一個視圖,那麼它可能會產生很大的影響。另外,有些數據庫支持計算/計算列。如果這些都存在,那麼這可能會影響性能。另外,有些數據庫是「列」導向的,其中的列實際上是分開存儲的。在這樣的數據庫中,查詢的這些版本之間的性能可能會有很大差異。

2

除非您需要全部列,否則不應選擇所有列。相反,您只需通過爲所需的每個列輸入tablename.columname來選擇所需的。

+0

對此答案沒有任何解釋。請添加更多細節並解決問題所要求的「速度差異」。 – sturrockad 2014-03-20 10:53:11