我的主要索引是唯一的參考數字,如002345和000023.MySQL的主索引可以是CHAR嗎?
如果我將它們格式化爲整數,我會將其零度。他們需要6位數字。
我可以使用CHAR嗎?我不需要任何自動增量。
我的主要索引是唯一的參考數字,如002345和000023.MySQL的主索引可以是CHAR嗎?
如果我將它們格式化爲整數,我會將其零度。他們需要6位數字。
我可以使用CHAR嗎?我不需要任何自動增量。
是的,您可以使用CHAR
列作爲MySQL中的主鍵。
但是,您應該考慮將參考數字保留爲整數,並在應用程序級別應用前導0。
您可能還需要考慮使用不是來自參考編號或任何其他應用數據的surrogate key。主要優點是,如果訂單參考編號發生變化,您的記錄不會丟失「處理」。您還將獲得整數索引的額外性能,作爲積極的副作用。
我剛剛在本地MySQL上進行了測試 - 它完美地工作。 但是爲了提升性能,我會選擇整數主索引。
您可以使用訂單號作爲主鍵。但有一天,您的老闆會給您打電話,告訴您發送給您最重要客戶的訂單號碼是打印爲002346
而不是002345
,並且他們無法收到付款,直到此錯誤在您的系統中得到解決...
您還應該考慮一個整數主鍵,因爲它可以節省空間,並且連接速度會更快。
在應用程序級別應用領先的0,您是對的!謝謝丹尼爾。 – FFish 2010-02-18 08:53:21