2014-01-14 70 views
0

我想將3個字母代碼保存到SQL數據庫,並希望稍後使用它們對該代碼執行許多查詢(可能是這些代碼的3-4個組合以識別某些記錄列表)。如何將字母代碼轉換爲數字?

我想如果我使用字符串表示這可能會很慢,因爲我將有> 100.000條目。

我現在在想我是否可以用一個唯一的數字代表這3個字母代碼(英文字母),然後查詢這個數字?

因此,我可以將每個字符轉換爲ASCII和地圖A=01,Z=26(如果我從ascii值減去64)。 因此AAA=010101,ZZZ=262626

這是否合理?我能做得更好嗎?

+0

您如何區分'AAK','AKA','KAA'等?所有人都將被翻譯成1111。 – devnull

+1

100k在數據庫方面沒有任何用處。我認爲你太早優化。我會去爲了可讀性和只在真正需要時進行優化。 – NeplatnyUdaj

+0

「更好」是什麼意思? – Maroun

回答

3

添加索引字段與3字母代碼:

CREATE INDEX index_name ON table_name (column_name_3_letter_code) ; 

有關數據庫索引的信息,請參閱How does database indexing work?

3

數據庫將散列並快速比較字符串值,使用爲該過程設計的索引。

首先實施它乾淨的方式,只有開始擔心,如果它太慢。數據庫將使用經過徹底優化和測試的例程來加速實現這一目標。