(转) 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 索引。

在使用索引的时候,须要注意上面的这些限制,尤其是要注意无法使用索引的情况,因为这很容易造成极大的性能隐患。

原文地址:https://www.cnblogs.com/wangle1001986/p/3620788.html