在一次查询中,MySQL只能使用一个索引。

在真实项目中,SQL语句中的WHERE子句里通常会包含多个查询条件还会有排序、分组等。

若表中索引过多,会影响INSERT及UPDATE性能,简单说就是会影响数据写入性能。因为更新数据的同时,也要同时更新索引。

最实际的好处当然是查询速度快,性能好。

MYSQL中常用的强制性操作(例如强制索引)

https://www.jb51.net/article/49807.htm

SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …

建索引参考的原则 :

一个表有3列 ,a,b,c 说出3种索引,能够在查询的时候用到 a,b,c,bc,ac,abc .

abc (a,bc,abc)

bc (c,bc)

ca (c)

用 查询bc 的时候用不到abc和ac 索引。

使用联合索引应该注意:

MySQL使用联合索引只能使用左侧的部分,例如INDEX(a,b,c),当条件为a或a,b或a,b,c时都可以使用索引,但是当条件为b,c时将不会使用索引。这好比一本先根据姓,再根据名进行排序的电话簿,当查找的时候有姓的条件,效率会比没有任何条件高;如果在姓的基础上还有名的条件,效率会更高;但若只有名的条件,电话簿将不起作用。离散度更高的索引应该放在联合索引的前面,因为离散度高索引的可选择性高。考虑一种极端的情况,数据表中有100条记录,若INDEX(a,b)中a只有两种情况,而b有100种情况。这样对于查询唯一记录a = …,b = …时,先遍历全部索引

mysql复合索引abcac可以索引吗_MySQL联合索引相关推荐

  1. mysql联合索引和单索引_mysql联合索引跟单列索引的区别

    为了提高数据库效率,建索引是家常便饭:那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下. 一.联合索引测试 注: ...

  2. mysql 联合索引 命中_mysql联合索引命中条件

    转于:https://blog.csdn.net/claram/article/details/77574600 首先明确:为什么要用联合索引? 对于查询语句"SELECT E.* FROM ...

  3. mysql 联合索引 唯一_mysql 联合索引和唯一索引

    一般来说.如果有where a=? and b=? and c=? 的语句. 如果表也有DML, 我一般只在a 上建索引.  这也是代价平衡的结果. 一方面 只在a 上建索引那么是 index ran ...

  4. 【MySQL】索引原理(三):联合索引(最左前缀原则),覆盖索引,索引条件下推

    准备工作,下面的演示都是基于user_innodb表: DROP TABLE IF EXISTS `user_innodb`; CREATE TABLE `user_innodb` (`id` big ...

  5. mysql复合索引优点_mysql 联合索引有什么好处? 联合索引的意义

    mysql 里创建'联合索引'的意义 问题? 因为什么需求,要创建'联合索引'?最实际好处在于什么?如果是为了更快查询到数据,有单列索引不是Ok?为什么有'联合索引'的存在? 简单的说有两个主要原因: ...

  6. mysql 复合索引_mysql联合索引(复合索引)详解

    联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...

  7. mysql的联合索引_mysql联合索引

    联合索引 概念 联合索引又叫复合索引,即一个覆盖表中两列或者以上的索引,例如: index_name(column a,column b) 1 创建方式 执行alter table语句时创建 alte ...

  8. Mysql索引是有序的吗_mysql组合索引的有序性转

    昨天同事关于军规里的一条mysql索引的问题咨询我,才发现自己也不太了解组合索引的规则.于是来记录一下: [推荐]如果有order by的场景,请注意利用索引的有序性.order by 最后的字段是组 ...

  9. mysql 联合索引 性能_mysql:联合索引及优化

    命名规则:表名_字段名 1.需要加索引的字段,要在where条件中 2.数据量少的字段不需要加索引 3.如果where条件中是OR关系,加索引不起作用 4.符合最左原则 尽量不要用or,如果可以用un ...

最新文章

  1. 在Visual Studio中使用序列图描述对象之间的互动
  2. Python 基本数据类型、运算符
  3. 18离线帮助文档_VIM学习笔记 Zeavim离线文档查看器
  4. 使用Joson的格式字符串在Socket中通讯时数据格式的转换
  5. Struts2的Interceptor和Listener以及Plugin
  6. 4.3.2模拟匹配的一种改价算法(KMP及KMP优化算法)
  7. Csharp:user WebControl Read Adobe PDF Files In Your Web Browser
  8. 找出出现次数最多的字母
  9. java面板中添加面板_java – 在面板中添加一个复杂的图像,在一个定制的用户界面中使用按钮...
  10. HTTP常见问题总结
  11. php curl显示错误信息,php如何调试curl错误信息
  12. 苹果6用U盘越狱_iOS12.3.1 A12 支持在线越狱?作者黑人问号
  13. php和plc哪个难,致PLC初学者的入门一课,七大误区如何解决?
  14. Ubuntu下Rhythmbox乱码的解决办法
  15. 遍历同辈节电的方法_家庭节水节电的24个好方法
  16. [Linux] Bash中大括号和小括号的使用
  17. 王者苹果服务器转安卓系统,王者荣耀苹果用户可以转?王者荣耀苹果用户转安卓的方法教程...
  18. 阿里云Web应用防火墙-WAF
  19. EtherCAT IgH常用命令行使用记录
  20. java工作中好用的方法

热门文章

  1. MATLAB基础学习(一)基本数学计算
  2. 7,xilinx 7系列FPGA理论篇——CMT时钟模块简介
  3. C++如何做字符串分割(5种方法)
  4. video的静音,暂停播放
  5. 何时建议使用复合索引
  6. php ltrim,ltrim()函数怎么用-php编程词典-php中文网
  7. 抖音赚钱,新手如何玩转抖音,每天赚300起(连载二十)
  8. 《I'm a Mac:雄狮训练手册》——0.3 Lion
  9. 王家林人工智能AI 从零起步(无需数学和Python基础)编码实现AI框架之第八节课:AI的上帝视角Why、How、What,及Perceptron彻底解密及计算机视觉的觉醒 老师微信13928463
  10. 上海python工资一般多少-上海Python工程师平均工资多少