mysql 复合索引_Mysql复合索引的顺序和必要值
创建表:
CREATE TABLE article (
id INT (10) UNSIGNED NOT NULL PRIMARY KEY auto_increment,
author_id INT (10) UNSIGNED NOT NULL,
category_id INT (10) UNSIGNED NOT NULL,
VIEW INT (10) UNSIGNED NOT NULL,
comments INT (10) UNSIGNED NOT NULL,
title VARBINARY (255) NOT NULL,
content text NOT NULL
);
插入数据:
INSERT INTO article (
author_id,
category_id. VIEW,
omments,
title,
content
)VALUES
(1, 1, 1, 1, '1', '1'),
(2, 2, 2, 2, '2', '2'),
(1,1,3,3,'3','3');
创建索引:
create index idx_articl_ccv on article(category_id,comments,view);
分析:
查询和排序字段正好符合索引--> 用到索引
explain select id,author_id from article where category_id = 1 and comments =1 order by view desc limit 1;
交换顺序--> 依旧使用到了索引
去除中间的条件--> 依旧使用了索引:
explain select id,author_id from article where category_id = 1 order by view desc limit 1;
去除开头条件--> 没有使用索引了:
explain select id,author_id from article where comments =1 order by view desc limit 1;
总结:
所以在复合索引中,索引第一位的column很重要,只要查询语句包含了复合索引的第一个条件,基本上就会使用到该复合索引(可能会使用其他索引)。我们在建符合索引的时候应该按照column的重要性从左往右建。
mysql 复合索引_Mysql复合索引的顺序和必要值相关推荐
- mysql 复合索引_mysql联合索引(复合索引)详解
联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...
- mysql navicat 组合索引_mysql组合索引与字段顺序
很多时候,我们在mysql中创建了索引,但是某些查询还是很慢,根本就没有使用到索引! 一般来说,可能是某些字段没有创建索引,或者是组合索引中字段的顺序与查询语句中字段的顺序不符. 看下面的例子: 假设 ...
- mysql联合索引和单索引_mysql联合索引跟单列索引的区别
为了提高数据库效率,建索引是家常便饭:那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下. 一.联合索引测试 注: ...
- mysql 堆表_Mysql聚集索引和非聚集索引(堆组织表和索引组织表)
Mysql聚集索引和非聚集索引(堆组织表和索引组织表) 1.堆组织表(HOT)和索引组织表(IOT)有什么区别? myisam使用的堆组织表(Heap Organize Table, HOT),没有聚 ...
- mysql的联合索引_mysql联合索引详解
联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| ...
- mysql按升序创建索引_Mysql创建索引
摘自:http://blog.chinaunix.net/uid-25063573-id-3032578.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技 ...
- mysql 创建覆盖索引_MySql覆盖索引
mysql的innodb引擎通过搜索树方式实现索引,索引类型分为主键索引和二级索引(非主键索引),主键索引树中,叶子结点保存着主键即对应行的全部数据:而二级索引树中,叶子结点保存着索引值和主键值,当使 ...
- mysql按升序创建索引_MySQL建立索引的基础规则
1.mysql索引(基础与规则) 索引规则: 一.MySQL建表,字段需设置为非空,需设置字段默认值. 二.MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三.MySQL建表 ...
- mysql的联合索引_mysql联合索引
联合索引 概念 联合索引又叫复合索引,即一个覆盖表中两列或者以上的索引,例如: index_name(column a,column b) 1 创建方式 执行alter table语句时创建 alte ...
最新文章
- thymeleaf的能用在什么地方_细品 Spring Boot+Thymeleaf,还有这么多好玩的细节!
- 使用RMAN VALIDATE验证数据和备份
- c语言测验答案,C语言测验题答案.doc
- kvm安装完全版 rhel6
- 《机器学习基石》---感知机算法
- idea 中maven依赖报错3部曲
- shell中source的作用
- Android 进程间通信——Service、Messenger
- Luogu-P1018 乘积最大
- 小说题目和章节题目还没想好
- 2021年4大免费ER图工具
- 绘制电气电路中的电阻——Visio制图总结【电控类】(二)
- Phase2 Day18 SQL 约束
- 公差与配合查询计算过程讲解
- 计算机备份打印机驱动程序,如何在Windows上备份打印机驱动程序和队列
- 页面提交时,显示“提交中”等待效果
- 【LeetCode】Day3-Excel表列名称
- 触摸式计算机屏幕,触控屏笔记本好不好 触摸屏笔记本优缺点分析【详细介绍】...
- GDB 调试 Nginx 磨刀不误砍柴工
- 计算机word上下左右边距,Word页边距调整设置(上下左右边距,2003-2013)
热门文章
- 动员计算机二级考试主题班会,“期中考试动员会”主题班会设计
- matlab 三维图像投影,matlab – 3D平面上的三维灰度体积投影
- r5 5600g评测
- wordpress手把手仿站操作
- C++实例(九)工具栏和状态栏
- html5苹果怎么设置,苹果iphone5虚拟快捷键如何设置 iphone5“小太阳”设置方法图解...
- (马士兵教育)如何提高ES分布式系统的可用性以及性能最大化
- Sybase的客户端工具
- Win10《芒果TV》更新v3.8.0初夏版:全新视觉体验,即刻分享视频
- icloud连接服务器时出现问题_iphone8 icloud连接服务器时出错怎么办?(附解决方法)...