转:http://book.51cto.com/art/200906/132459.htm
8.4.8 MySQL中索引的限制
在使用索引的同时,还应该了解MySQL 中索引存在的限制,以便在索引应用中尽可能地避开限制所带来的问题。下面列出了目前 MySQL 中与索引使用相关的限制。
(1)MyISAM存储引擎索引键长度的总和不能超过1000字节;
(2)BLOB和TEXT类型的列只能创建前缀索引;
(3)MySQL 目前不支持函数索引;
(4)使用不等于(!= 或者 <>)的时候,MySQL 无法使用索引;
(5)过滤字段使用了函数运算(如abs(column))后,MySQL无法使用索引;
(6)Join 语句中 Join 条件字段类型不一致的时候,MySQL 无法使用索引;
(7)使用LIKE操作的时候如果条件以通配符开始(如'%abc...')时,MySQL无法使用索引;
(8)使用非等值查询的时候,MySQL 无法使用 Hash 索引。
在使用索引的时候,须要注意上面的这些限制,尤其是要注意无法使用索引的情况,因为这很容易造成极大的性能隐患。
本文详细阐述了MySQL中索引的使用限制,包括MyISAM存储引擎的索引键长度限制、BLOB和TEXT类型列的索引创建限制、函数索引的支持情况以及在特定查询条件下索引的失效情形。理解这些限制对于优化数据库性能至关重要。
10万+

被折叠的 条评论
为什么被折叠?



