Primary-Key

僅僅存在一個主鍵就可以提高大型數據集的查詢速度嗎?

  • November 19, 2014

所以,我有一個大約 240 萬行和大約 30 列的表。數據中沒有唯一的列。數據是來自商店的交易日誌,其中每個交易號僅在每個商店的基礎上都是唯一的,並在午夜重置,但這不是重點。

就目前而言,對該表的查詢需要一分鐘以上的時間,我不知道為什麼。我在具有高選擇性比的列上添加了索引,但沒有任何區別。那麼,如果我為每一行添加一個自動遞增的“id”欄位,這會加快速度,還是查詢速度很慢,因為有這麼多列和這麼多唯一數據?

我們為表指定鍵的原因主要是為了提高數據的完整性和有用性。鍵保證表沒有重複數據,因此它們允許數據的使用者/消費者正確辨識資訊。DBMS 查詢優化器和儲存引擎旨在利用密鑰,因此擁有密鑰也將使您的 DBMS 有最佳機會有效地執行某些查詢,但不能保證添加密鑰會在每種情況下提高性能。

正如其他人指出的那樣,根據您的描述,您似乎已經確定了合適的列來製作候選鍵。

引用自:https://dba.stackexchange.com/questions/82736