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

‍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 =一个值),以上两种情况索引都会走。其他情况不会走。

强制使用索引

mysql常用的hint

对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。

强制索引 FORCE INDEX

复制代码 代码如下:
SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …

以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段上的索引。

忽略索引 IGNORE INDEX

复制代码 代码如下:
SELECT * FROM TABLE1 IGNORE INDEX (FIELD1, FIELD2) …

数据库建立索引以及索引失效问题相关推荐

  1. 数据库mysql建立索引_为mysql数据库建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

  2. [转]为mysql数据库建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

  3. 为mysql数据库建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

  4. MySQL数据库索引的类型、命名规范、建立原则以及索引失效的情况

    本篇中记录下数据库索引相关的知识点! 索引是什么? 举个例子:大家去图书馆借书时,会先在电脑检索书名或作者等关键字信息,查询出该本书对应的一个图书索引后,紧接着就可以拿着这个图书索引去精确定位存放该索 ...

  5. 数据库索引为什么会失效

    本文来说下数据库的索引为什么会失效,本文以MySQL为例来说明下这个问题 文章目录 MySQL数据是如何存储的 聚集索引 非聚集索引 联合索引/索引覆盖 索引下推 最左前缀原则 加速查询 加速排序 联 ...

  6. 数据库建立索引怎么利用索引查询

    数据库建立索引怎么利用索引查询? 精选 1.合理使用索引 索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率.现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构. 索引的使用要恰 ...

  7. 数据库建立索引常用的规则

    数据库建立索引常用的规则如下: 查看全文 http://www.taodudu.cc/news/show-3587136.html 相关文章: hive中如何建立索引 oracle数据库分区表建立索引 ...

  8. 数据库建表规约,索引创建及失效分析

    文章目录 1. 建表规约 2. 索引规约 3. SQL 规约 1. 建表规约 1.1 表达是否概念的字段,使用 is_xxx 的方式命名,数据类型为 unsigned tinyint: 1.2 表名. ...

  9. 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段

    数据库建立索引 数据库.数据表建立索引的原则 数据库建立索引的原则 1,确定针对该表的操作是大量的查询操作还是大量的增删改操作. 2,尝试建立索引来帮助特定的查询.检查自己的sql语句,为那些频繁在w ...

  10. 带你了解什么是MySQL数据库(六)索引原理,如何建立与使用索引

    文章目录 前言 索引原理 介绍 查找二叉树.平衡二叉树.B树.B+树 聚集索引与非聚集索引 索引管理 测试索引 正确使用索引 联合索引 索引下推技术 索引优化神器 常见慢查询优化 前言 学习过某一门编 ...

最新文章

  1. mac上安装python详细教程_mac安装python环境
  2. Day 15:Meteor —— 从零开始创建一个 Web 应用
  3. C语言读入文件全部内容的方法
  4. ionic1 打包过程 常用命令行
  5. 怎样安装python在桌面_在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程...
  6. TabControl与UserControl合伙吃内存
  7. 【python教程入门学习】python基础语法
  8. linux下weblogic12c建域,三、WebLogic 12C集群部署-创建域
  9. 服务器上使用mysql_在服务器上安装、使用MySQL的注意事项
  10. 区别对待 【找到问题发生的原因】 以及   【关于这个问题的 「正确可行」 的解决方法】
  11. 3. Ubuntu LAMP 环境搭建
  12. AI人工智能简史-人工智能与炼金术
  13. Python数据分析师特训营84节
  14. 发那科冲压直线搬运机器人_发那科直线七轴软件配置
  15. eclipse不自动弹出提示
  16. 深度强化学习-策略梯度算法推导
  17. IIS 配置网站出现500内部服务器错误,显示具体错误信息
  18. P4167 [Violet]樱花
  19. 春考计算机组装维修知识点,山东春考计算机组装及维修模拟题.docx
  20. 多个视频合成一个视频(带合成工具)

热门文章

  1. 搜狗测试年终总结和测试总监luke春节寄语
  2. 又是一场雨湿了多少人的心
  3. 云呐数据库的容灾备份,数据容灾包括数据的备份和恢复吗
  4. 怎么在IDEA里搜索jar包里的类的方法和配置
  5. 创新工场联合创始人汪华:创新者去哪儿
  6. 理解残差神经网络(Resnet)
  7. 按摩椅产品如何做好软文推广利用软文来打造为产品引流宣传
  8. 营收、用户增长均超市场预期,乐信重构金融科技赛道
  9. iOS 获取网络图片的宽高
  10. 微信mac版3.0.0版本支持朋友圈阅读