2012-02-05 71 views
1

我需要檢查(可能)大型數據庫(數百萬條記錄)中的特定記錄是否存在。在MySQL中檢索唯一記錄的最快方法:string vs float vs 2 ids

我可以選擇唯一地識別與所述記錄:

  • 2整數(例如:231321和312309)
  • 1浮點數(兩個整數數字的組合例如:231321.312309)
  • 1字符串(兩個整數例子的組合:「231321 @ 312309」)

是這三個選項比別人更好嗎?

謝謝!

回答

1

使用2個整數。

理由:

  • 根據實際整數範圍內,你可能不能夠存儲在一個單一的浮動2個整數 且不丟失精度。
  • 字符串只是浪費空間。
  • 對於浮點數和字符串,如果您需要的話,您將無法對第二個整數進行索引(因而無法高效搜索)。
  • 此外,有一個關於atomicity的哲學論證,違反它實際上違反了第一範式。
0

嗯,我不會使用字符串只是因爲它需要更多的空間和更多的數據進行比較。我認爲這對你選擇的數字選項無關緊要。只要一定要在場上投出一個獨特的指數,你應該很好去。