`
ymm8505
  • 浏览: 32293 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】 数据库索引失效的几种情况

阅读更多
操作数据库索引能起到优化数据库查询,提高查询效率的作用。并且对也稍微大一点的数据量的服务来说,索引的创建是必须的,也是关键的。但是索引也要合理应用,不要遇到查询就建索引,也不能乱建。如果造成索引失效那还不如不建。索引失效有的时候是因为自己的语句问题造成的。下面是几种造成索引失效的几种原因,
一、以下的方法会引起索引失效

‍1,<>
2,单独的>,<,(有时会用到,有时不会)
3,like "%_" 百分号在前.
4,表没分析.
5,单独引用复合索引里非第一位置的索引列.
6,字符型字段为数字时在where条件里不添加引号.
7,对索引列进行运算.需要建立函数索引.
8,not in ,not exist.
9,当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况。
10, 索引失效。
11,基于cost成本分析(oracle因为走全表成本会更小):查询小表,或者返回值大概在10%以上
12,有时都考虑到了 但就是不走索引,drop了从建试试在
13,B-tree索引 is null不会走,is not null会走,位图索引 is null,is not null   都会走
14,联合索引 is not null 只要在建立的索引列(不分先后)都会走,
in null时   必须要和建立索引第一列一起使用,当建立索引第一位置条件是is null 时,其他建立索引的列可以是is null(但必须在所有列都满足is null的时候),或者=一个值;
当建立索引的第一位置是=一个值时,其他索引列可以是任何情况(包括is null =一个值),以上两种情况索引都会走。其他情况不会走。


【参考地址】http://linmomo02.iteye.com/blog/1171069
分享到:
评论

相关推荐

    数据库索引失效的几种情况

     二、索引失效的几种情况  1.如果条件中有多个字段使用or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)。多条件查询用同一字段时使用or索引会生效。 注意:要想使用or,又想让索引生效,只能...

    Mysql索引会失效的几种情况分析

    索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:  1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)  注意:要想使用or,又想让索引生效,只能将or条件中的每个...

    oracle数据库索引失效

    但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况: 1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全表) 2. 统计信息...

    MySQL索引面试题+索引优化+索引失效

    在面试过程中,常常会涉及到MySQL索引的相关问题,包括索引的原理、优化技巧以及索引失效的原因等。 首先,MySQL索引是一种数据结构,用于快速定位和访问数据库中的数据。它通过创建索引列和索引对象来实现,可以...

    mysql索引失效的五种情况分析

    索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)    注意:要想使用or,又想让索引生效,只能将or条件中的每个...

    27道高级开发数据库面试题目以及答案.pdf

    索引失效的情况: 数据库优化 查询计划的结果中看哪些关键数据; mysql 如何调优; 索引是建的越多越好吗; 在表查询中,一律不要使用 * 作为查询的字段列表,原因是什么; 描述一下InnoDB和MyISAM的区别; 当前读...

    数据库知识点总结

    7. 请说出你知道的索引失效的几种情况?8. 什么是聚簇索引与非聚簇索引9. Mysql索引主要使用的数据结构有哪些?10. 谈谈MyISAM和innoDb实现Btree索引方式的区别11. B+tree与B-tree的区别是什么?为什么B+tree更适合...

    mysql面试题(涉及索引、事务、锁)

    遇到过索引失效的情况没,什么时候可能会出现,如何解决 如何选择合适的分布式主键方案 选择合适的数据存储方案 常见的几种分布式ID的设计方案 常见的数据库优化方案,在你的项目中数据库如何进行优化的 什么是索引...

    100道mysql的面试题

    2. 文档内容包括mysql索引,索引失效,覆盖索引,回表,二叉树,死锁,读写分离,分库分表,分库分表中间件,聚集索引或非聚集索引, 索引优化,事务级别,幻读,脏读,不可重复读,数据库的乐观锁和悲观锁,SQL优化...

    2023 Java面试真题及详解

    1 mysql使用innodb引擎,请简述mysql索引的最左前缀如何优化orderby语句。 2 JVM 内存模型中,为什么要区分新生代和...创建索引的缺点是什么,什么情况索引失效?优化数据库的方法有哪些? 9.Integer和int 的区别? ...

    图书管理系统数据库设计示例.doc

    图书管理员工作的流程为:: 注册 录入图书 录入新生 注销图书 注销学生 注销 修改个人信息 超期处理 二、概念模型设计 数据库需要表述的信息有以下几种: 1.读者信息 2.书籍信息 3.管理员信息 4.读者与书籍之间...

    mysql数据库my.cnf配置文件

    在之前的几个版本中,清除操作是主线程的一部分,这意味着运行时它可能会堵塞其它的数据库操作。 # 从MySQL5.5.X版本开始,该操作运行于独立的线程中,并支持更多的并发数。用户可通过设置innodb_purge_threads配置...

    2022年MySQL最新面试题,很全,已拿大厂 offer

    包括常见的面试题和答案 一、数据库基础知识 1、平时MySQL主要用哪个版本 2、数据库三大范式是什么 3、MySQL有关权限的表都有哪几个 4、MySQL的binlog有有几种录入...11、有哪些情况, 索引会失效, 可以简单说说吗?

    图书管理系统数据库设计示例(1).doc

    图书管理员工作的流程为:: 注册 录入图书 录入新生 注销图书 注销学生 注销 修改个人信息 超期处理 二、概念模型设计 数据库需要表述的信息有以下几种: 1.读者信息 2.书籍信息 3.管理员信息 4.读者与书籍之间的...

    mysql 卡死 大部分线程长时间处于sending data的状态

    有台服务器,访问量挺大,每天近250w动态pv,数据库查询平均每秒近600次 另一台服务器,跑的程序跟这台一样,不过只有每天约40w动态pv 前段时间连续卡死过几次,当时的状态是 服务器没崩溃,数据库可正常登陆。...

    Oracle课件.pdf

    6.4表分区的几种类型及操作方法 6.5有关表分区的一些维护性操作 第5章 PL/SQL程序设计 1. PL/SQL简介 2. PL/SQL基础 2.1声明 2.2条件控制 2.3循环控制 2.4游标 2.5动态SQL 3.创建存储过程 4.创建自定义...

    大学文献检索资料 DOC

    信息检索语言是用来描述文献特征和表达信息提问,沟通信息存储人员和信息检索者双方思想的一种人工语言。 信息检索语言的分类:按描述文献特征划分; • 描述文献外部特征的检索语言:书名、刊名、篇名等著者名。...

    深入解析Oracle.DBA入门进阶与诊断案例

    1.3.2 几种关闭方式的对比 48 第2章 控制文件与数据库初始化 51 2.1 控制文件的内容 51 2.2 SCN 53 2.2.1 SCN的定义 53 2.2.2 SCN的获取方式 53 2.2.3 SCN的进一步说明 54 2.3 检查点(Checkpoint) ...

    Toad 使用快速入门

    在schema browser的帮助下,可以方便的浏览数据库内部的各类数据库对象,比如表,索引,序列,存储过程等,而且可以方便的倒出DDL语句和进行各种修改,重建工作。定位到某一类对象上,这列对象允许的操作都会自动列...

    Oracle9i的init.ora参数中文说明

    如果要在没有调度程序的情况下仍能连接到数据库, 请将该值设置为与例程名相同。此参数自 8.1.3 版起已废弃。 值范围: 根据操作系统而定。 默认值 :0 mts_sessions: 说明 : 指定允许的共享服务器体系结构用户会话的...

Global site tag (gtag.js) - Google Analytics