2013-10-04 90 views
1

如果你有一個MySQL表格,其中包含一個可變長度字段,這個字段在WHEREORDER BY條款中經常使用,並且很少有INSERTSUPDATES被創建,所以它將是一個很好的候選人使用該字段的索引。填充字段是MySQL索引的不錯選擇嗎?

但是,從我能找到的主題看,當你以這種方式爲它們編制索引時,MySQL似乎很快無法處理可變長度字段(與固定長度字段相比)。所以,我想知道是否應該用空字符串填充列的行來強制所有列都固定的最大長度。這是否有意義呢?或者我只是在想這個?

+0

好問題。我已投票將其遷移到http://dba.stackexchange.com,因爲它可能會在那裏得到更好的答案。 –

+0

如果你正在考慮將可變長度字段填充到一個固定的最大長度......那麼你爲什麼不把它變成一個固定長度的字段呢? –

+0

@AlexHowansky也許它在翻譯中丟失了,但是想法是使用固定長度的字段而不是替代(不填充和使用可變長度)。 – user17753

回答

0

諮詢手冊多一些之後,我意識到這是一個「功能」已經出爐到MySQL:

CHAR列的長度固定爲在創建表聲明 長度。長度可以是0到255之間的任何值。 當存儲CHAR值時,它們會用指定長度的空格填充空格。當檢索到CHAR值時,刪除尾部空格 。