2011-03-21 28 views
0

如果在數據類型爲VARCHAR(255)的MySQL表中建立索引的列可以放下來說VARCHAR(10),那麼這可能會提高查詢性能多少?MySQL上較小的VARCHAR列更適合索引?

如果您看一看EXPLAIN聲明,則key_len會減少,但我仍然沒有足夠的數據/洞察來了解性能改進的程度(如果有的話)。

回答

1

最基本的優化之一是設計您的表,以儘可能縮小磁盤空間。這可以給予巨大的改進,因爲磁盤讀取速度更快,而較小的表通常需要較少的主存儲器,而在查詢執行期間正在主動處理其內容。如果在較小的列上進行索引,索引也是較小的資源負擔。

MySQL支持許多不同的表格類型和行格式。對於每個表格,您可以決定使用哪種存儲/索引方法。爲您的應用選擇正確的表格格式可能會給您帶來巨大的性能提升。請參閱第8章「MySQL存儲引擎和表類型」。

你可以在一臺更好的性能和使用上市here: 其中之一是技術使存儲空間最小: 表的主索引應儘可能短。這使得每一行的識別簡單且高效。