mysql怎么创建联合索引(mysql的联合索引复合索引的实现)
类别:数据库 浏览量:2699
时间:2021-10-21 07:56:51 mysql怎么创建联合索引
mysql的联合索引复合索引的实现联合索引
本文中联合索引的定义为(mysql):
|
alter table `table_name` add index (`col1`,`col2`,`col3`); |
联合索引的优点
若多个一条sql,需要多个用到两个条件
|
select * from `user_info` where username= 'xx' , password = 'xxxxxx' ; |
当索引在检索 password
字段的时候,数据量大大缩小,索引的命中率减小,增大了索引的效率。
符合索引的索引体积比单独索引的体积要小,而且只是一个索引树,相比单独列的索引要更加的节省时间复杂度和空间复杂度
联合索引命中的本质(最左匹配的理解)
定义
当创建(col1
,col2
,col3
)联合索引时,相当于创建了(col
)单列索引,(clo1
,clo2
)联合索引以及(col1
,col2
,col3
)联合索引想要索引生效,只能使用col1
和col1
,col2
和col1
,col2
,col3
三种组合;当然,col1
,col3
组合也可以,但实际上只用到了col1
的索引,col3
并没有用到!
图解
通俗理解
联合索引相当于一个按照姓氏——名字
的一个电话簿,只能先确定姓氏才可以命中索引,下列可以正确命中联合索引的语句( =
和in
直接的字段都可以乱序,mysql的查询优化器可以优化成索引识别的形式)
|
-- 只命中 col1,col2 select * from `table_name` where `col1`= 'xx' ; |
|
-- 命中col1,col2。col1,col2的顺序可以颠倒 select * from `table_name` where `clo1`= 'xx' ,`clo2`= 'xxx' ; select * from `table_name` where `clo2`= 'xxx' , `clo1`= 'xx' ; |
|
-- 命中col1,col2,col3,同理,三个列的顺可以颠倒 select * from `table_name` where `col1`= 'x' ,`col2`= 'xx' ,`col3`= 'xxx' ; select * from `table_name` where `col1`= 'x' ,`col3`= 'xx' ,`col2`= 'xxx' ; select * from `table_name` where `col2`= 'x' ,`col3`= 'xx' ,`col1`= 'xxx' ; |
到此这篇关于mysql的联合索引(复合索引)的实现的文章就介绍到这了,更多相关mysql 联合索引 内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://www.cnblogs.com/wongdw/p/12887174.html
您可能感兴趣
- mysql密码过期怎么改(年底了,你的mysql密码安全吗)
- mysql权限收回(MySQL如何利用DCL管理用户和控制权限)
- mysql常用存储方案及基本原理(详解分析MySQL8.0的内存消耗)
- mysqldump导入导出(MySQL官方导出工具mysqlpump的使用)
- 修改mysql默认超时(MySQL sql_mode修改不生效的原因及解决)
- mysql执行计划详细解读(详解MySQL的Seconds_Behind_Master)
- mysql order by id查询变慢(MySQL不使用order by实现排名的三种思路总结)
- mysql 索引怎么实现(Mysql中索引和约束的示例语句)
- centos7.5安装mysql教程(CentOS8下MySQL 8.0安装部署的方法)
- mysqlbinlog优缺点(MySQL Binlog 日志处理工具对比分析)
- mybatis为什么还用mysql(关于MyBatis连接MySql8.0版本的配置问题)
- mysql更新数据库表中的数据语法(Mysql联表update数据的示例详解)
- mysql数据表怎么复制(MySQL 复制表的方法)
- key的用法归纳mysql(详解mysql中explain的type)
- mysql服务器端安装步骤(windows下jsp+mysql网站环境配置方法)
- binlog怎么恢复mysql数据库(mysql5.7使用binlog 恢复数据的方法)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
- 省委书记出席的交流会,十位县委书记同场发言,代表公文材料的高水平(省委书记出席的交流会)
- 《刘老根3》热播,去世15年的她却再次被 伤害(去世15年的她却再次被)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
热门推荐
- laravel认证系统(Laravel框架Auth用户认证操作实例分析)
- django操作默认数据库(Django数据库类库MySQLdb使用详解)
- thinkphp5数据库配置(Thinkphp5框架实现获取数据库数据到视图的方法)
- dedecms标签长度(dedecms使用SQL命令批量替换指定字符串的方法)
- 一个sql查询数据多表连接查询(一条SQL语句查询多个数据库)
- Visual Studio使用Git进行源代码管理
- centos 测试环境搭建(centos7下安装并配置supervisor守护程序的操作方法)
- pythonexcel生成报表(python生成每日报表数据Excel并邮件发送的实例)
- jquery on绑定多个事件
- web开发如何正确使用docker(Docker部署web项目的实现)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9