2013-05-16 46 views
-2

我知道SELECT *被認爲是不好的做法,因爲它可以返回不需要的信息。SELECT Query最佳實踐

但對於這一點:

說,我有4個列的表,列1-4

是否有這兩個查詢之間的任何差別(如速度快,性能)?

SELECT col_1,col_2,col_3,col_4 FROM ... 

而且

SELECT col_2,col_4,col_1,col_3 FROM ... 

供參考:1查詢有順序相同的數據庫列,但第二個查詢不關心數據庫表中的列順序。

+0

@Raj這兩個查詢之間是否有不同(如快速,性能)。 SELECT col_1,col_2,col_3,col_4和SELECT col_2,col_4,col_1,col_3 – Anjana

回答

0

如果沒有where條款,所有三個查詢要執行同樣的,假設你已經在你的表中列出的所有列。如果你有一個主鍵,那麼這些查詢將進行聚簇索引掃描,否則進行表掃描,這些基本上是相同的事情。

+0

以及我只給你一個例子。因爲很多時間我們沒有從一張表中檢索所有列。但我明白你的意思。謝謝 – Anjana

1

對於所有意圖和目的,沒有。

+0

是的。我不知道爲什麼我對此有所懷疑。但是我不得不告訴你這些.SELECT *查詢比返回不需要的字段有更多的問題。非常感謝你的幫助 – Anjana

0

兩個查詢的速度應該是相同的。

爲了確保這一點,請在每個查詢前後打印一個時間戳,以便您自己查看。

最良好的祝願,