1) 没有查询条件,或者查询条件没有建立索引
2) 在查询条件上没有使用引导列
3) 查询的数量是大表的大部分,应该是30%以上。
4) 索引本身失效
5) 查询条件使用函数在索引列上,或者对索引列进行运算,运算包括(+,-,*,/,! 等)
  错误的例子:select * from test where id-1=9; 正确的例子:select * from test where id=10;
6) 对小表查询
7) 提示不使用索引
8) 统计数据不真实
9) CBO计算走索引花费过大的情况。其实也包含了上面的情况,这里指的是表占有的block要比索引小。
10)隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误.
  由于表的字段tu_mdn定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给数据库,
  这样会导致索引失效. 错误的例子:select * from test where tu_mdn=13333333333;
  正确的例子:select * from test where tu_mdn='13333333333';
12) 1,<> 2,单独的>,<,(有时会用到,有时不会)
13) like "%_" 百分号在前.
14) 没做表分析.
15) 单独引用复合索引里非第一位置的索引列.
16) 字符型字段为数字时在where条件里不添加引号.
17) 对索引列进行运算.需要建立函数索引.
18) not in ,not exist.
19) 当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况。
20) B-tree索引 is null不会走,is not null会走,位图索引 is null,is not null 都会走
21) 联合索引
  is not null 只要在建立的索引列(不分先后)都会走,
  in null时 必须要和建立索引第一列一起使用,当建立索引第一位置条件是is null 时,
  其他建立索引的列可以是is null(但必须在所有列 都满足is null的时候),
  或者=一个值; 当建立索引的第一位置是=一个值时,其他索引列可以是任何情况(包括is null =一个值),
以上两种情况索引都会走。其他情况不会走。 ---------
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 索引;
9、在我们使用索引的时候,需要注意上面的这些限制,尤其是要注意无法使用索引的情况,因为这很容易让我们因为疏忽而造成极大的性能隐患。

最新文章

  1. 【codevs2216】行星序列 线段树 区间两异同修改+区间求和*****
  2. BZOJ 1036 &amp;&amp; 树链剖分
  3. Apache Spark源码走读之19 -- standalone cluster模式下资源的申请与释放
  4. Hook入门
  5. 【HDOJ】2795 Billboard
  6. 115个Java面试题和答案——终极列表
  7. 使用OpenFileDialog实现图片上传
  8. 【转】windows上自动设置java环境变量的脚本
  9. Yii CDBCriteria常用方法
  10. MySQL数据类型和属性
  11. spark RDD编程,scala版本
  12. C语言老司机学Python (四)
  13. Java_Object_Date_System等常用类
  14. Go Lang
  15. 【JavaScript】jQuery
  16. s:if 标签 字符串比较 正确用法和错误用法
  17. [LeedCode]279. 完全平方数
  18. linux上安装telnet服务
  19. vue2.0混入mixins
  20. 20161227xlVBA多文件合并计算

热门文章

  1. Matlab矩阵学习二 矩阵的修改
  2. vue-cli4 + TS构建新项目
  3. Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
  4. Java实现 LeetCode 777 在LR字符串中交换相邻字符(分析题)
  5. Java实现 蓝桥杯VIP 算法提高 P0404
  6. Java实现蓝桥杯 算法训练 大等于n的最小完全平方数
  7. 第九届蓝桥杯JavaC组省赛真题
  8. java实现数组转置
  9. Linux帮助命令man详解
  10. cocos2dx Android 使用ant 批量打包