一、索引的建立和使用规则
1:最左前缀匹配原则
mysql 会从左向右,匹配直到遇到范围查询(>,<,between,like)就停止匹配
比如建立(a,b,c,d)顺序的索引
使用这样的查询语句 a = 1 and b=2 and c>3 and d =4 ; d是用不到索引的
但如果建立(a,b,d,c)的索引则都可以用到 , a,b,d 的顺序可以调整
2: = 和 in 可以乱序 ,比如a =1 and b = 2 and c =3
建索引的顺序可以任意 : (a,b,c)或 (b,a,c)
3:使用区分度高(选择性高)来做索引
4:索引列不能参与计算
5:尽量使用联合索引,不用使用单独索引
二、执行计划
rows是核心标志,绝大部分rows小的语句执行一定很快。
慢查询优化基本步骤
0.先运行看看是否真的很慢,注意设置SQL_NO_CACHE1.where条件单表查,锁定最小返回记录表。这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始查起,单表每个字段分别查询,看哪个字段的区分度最高
2.explain查看执行计划,是否与1预期一致(从锁定记录较少的表开始查询)
3.order by limit 形式的sql语句让排序的表优先查
4.了解业务方使用场景
5.加索引时参照建索引的几大原则
6.观察结果,不符合预期继续从0分析
相关推荐
索引使用规则.txt
MySQL 进阶-索引使用规则
MySQLBtree索引使用规则.wmv
74 再来看看几个最常见和最基本的索引使用规则l.pdf
行业-74 再来看看几个最常见和最基本的索引使用规则l.rar
B树索引和自创Connect.rar 源码分享
Oracle 创建索引的基本规则,好好研究一下有好处.
一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理...由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。
中组部规定的姓氏笔画排列顺序索引.pdf
目录 1-1 SQL优化基本介绍 1-2 七个查询命令特征 1-3 查询语句执行特征 1-4 需要优化的查询命令 2-1 索引基本介绍 2-2 索引分类 2-3 聚簇索引与非聚簇索引区别 2-4 主键索引与唯一性索引 ...3-7 索引使用规则
本教程详细的介绍了在CMSware新建采集分类中的索引页规则定义禁了相应的介绍与说明。
简单的listview实现自定义的A-Z索引定位
用户自定义的抽取,转换规则来索引 HBase 列数据。Solr 搜索结果会包含用户自定义的 columnfamily:qualifier 字段结果,这样应用程序就可以直接访问 HBase 的列数据。而且 Indexer 索引和搜索不会影响 HBase 运行的...
Oracle数据库经典优化之索引原理篇 Oracle中建立索引并强制优化器 基于索引的SQL语句优化之降龙十八掌 30个Oracle语句优化规则详解-性能调优
opengl函数参考(有索引).opengl函数参考(有索引).
mysql索引长度计算规则
3、索引失效场景(补充:以下在实际应用中并不会一定导致索引失效,基于mysql不同版本的优化规则) 3.1 在联合索引的场景下,查询条件不满足最左匹配原则 3.2 索引列参与了运算,会导致全表扫描,索引失效(除主键...
由于排序索引规则通过索引编号 , 跳跃搜索项集 , 可以有效加快信息的检索速率 , 但在生成频繁二项集索引矩阵时 , 内存占用比较高 , 提出一种基于布尔矩阵和排序索引的关联规则挖掘算法 , 预处理布尔矩阵 , 删除无用...
中组部规定的姓氏笔画排列顺序索引修订稿.docx