我在Stack Overflow上看到了一篇類似的文章,但還不是很滿意。MySQL - 使用字符串作爲主鍵
比方說,我提供了一個Web服務。 http://foo.com/SERVICEID
SERVICEID是用於引用服務的唯一字符串ID(base64,lower/uppercase +數字),類似於URL縮短器服務爲URL生成ID的方式。
我知道比較字符串與整數有內在的性能問題。
但我很好奇如何最大限度地優化String類型的主鍵。
我正在使用MySQL,(目前使用MyISAM引擎,雖然我承認不瞭解所有的引擎差異)。
謝謝。我的目的
更新字符串實際上只是一個base62編碼的整數,因此主鍵是一個整數,因爲你不可能永遠超過BIGINT的規模它只是沒有太多的意義使用其他任何東西(對於我的特定用例)
謝謝,我非常肯定我不會有太大的區別,但是想從社區那裏聽說「那裏已經完成了」 – 2010-08-11 05:29:48
注意:對於僅限ASCII碼的代碼而非真實的文字(例如哈希,base64,標準國家代碼等),使用'ascii_bin'排序規則可能是一個好主意。如果您使用基於utf-8的排序規則,則它將爲CHAR列而不是僅爲1的每個字符保留3或4個字節。 – thomasrutter 2015-08-12 01:10:31
請勿在主鍵中使用國家代碼。 – displayname 2017-05-03 19:22:14