郑州做音响网站的公司,群推广,怎么做网站的浏览量,wordpress the_content() 不显示目录
一、索引覆盖
1.完全覆盖
2.部分覆盖
3.不覆盖索引-where条件不包含联合索引的最左则不覆盖
二、MySQL8.0在索引中的新特性
1.不可见索引
2.倒序索引
三、索引自优化--索引的索引
四、Change Buffer
五、优化器算法
1.查询优化器算法
2.设置算法
3.索引下推 …目录
一、索引覆盖
1.完全覆盖
2.部分覆盖
3.不覆盖索引-where条件不包含联合索引的最左则不覆盖
二、MySQL8.0在索引中的新特性
1.不可见索引
2.倒序索引
三、索引自优化--索引的索引
四、Change Buffer
五、优化器算法
1.查询优化器算法
2.设置算法
3.索引下推 ICP
4.MRR:Multi Range Read
六、索引应用规范
1.建立索引的原则
2.不走索引的情况 一、索引覆盖 以idxa,b,c为例
1.完全覆盖 where a and b and c where b and c and a where a and b in() and c where a and b order by c where a and b and c/
2.部分覆盖 where a and b/ and c where a and b where a where a and c
3.不覆盖索引-where条件不包含联合索引的最左则不覆盖 where b and c where b where c 二、MySQL8.0在索引中的新特性
1.不可见索引 建索引难删索引易为了避免轻易删掉索引可以设为不可见 alter table city alter index idx_nn invisible; 2.倒序索引 where a order by bc desc--b为正排c为倒排 这种情况在建立索引时可以----idx(a,b,c desc) 三、索引自优化--索引的索引 AHI自适应的HASH索引根据缓冲区中索引页的热度自动生成HASH索引表快速锁定热点索引页在内存中的位置
四、Change Buffer 存储辅助索引的变更 将来需要用到的时候自动在内存中进行merge合并得到id值是目的 以前叫insert buffer因为只对insert有效现在对insert update delete都有效 五、优化器算法
1.查询优化器算法 select optimizer_switch; 2.设置算法 set global optimizer_switchon/off;
3.索引下推 ICP 例如where a and b and c正常情况下这种联合索引被b拦截后不会走到c的索引但开启索引下推后可以对c进行索引这是由于 在mysql中索引下推允许在存储引擎层过滤索引中的记录而不是在server层进行如果查询包含多个条件并且索引不是很精确时索引下推可以在存储引擎层进行更多的过滤工作从而减少不必要的IO. 如何开启set global optimizer_swithindex_condition_pushdownon;
4.MRR:Multi Range Read 辅助索引条件查询时先扫描辅助索引获得ID值放在read_rnd_buffer中由MRR进行排序后回表查询 六、索引应用规范
1.建立索引的原则 1必须有主键主键选择业务无关的列 2经常作为where条件列的要做索引以及order bygroup byjoin ondistinct 3最好使用唯一值多的列作为索引列如果索引列重复值较多可以考虑使用联合索引 4列值长度较长的索引列建议使用前缀索引 left(name,19) --取name前19位 5降低索引条目不创建没有用的索引不常使用的索引要清理 6维护索引要避开业务繁忙期用pt-osc 7使用联合索引最左原则
2.不走索引的情况 1没有查询条件或者查询条件没建索引 select * from t1 select * from t1 where 11 2查询结果集是原表中大部分数据15%-25%以上查询的结果集如果超过了总行数25%优化器就觉得没必要走索引了 3索引本身失效统计信息不真实过旧对于表内容变化比较频繁的情况下有可能会出现索引失效一般是删除重建如果有一条select语句平时查询很快突然有一天很慢应该是索引失效统计信息不真实、 4查询条件使用函数在索引列上或者对索引列进行运算 - * / !。算数运算、函数运算、子查询都不走索引 5隐式转换导致索引失效应引起重视也是开发中常会犯的错误 select * from t1 where num110 ——走索引 select * from t1 where num110 ——不走索引 6like “%_”百分号在前面不走索引