(转) MySQL中索引的限制
转: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 索引。
在使用索引的时候,须要注意上面的这些限制,尤其是要注意无法使用索引的情况,因为这很容易造成极大的性能隐患。