Mysql性能优化与关键名词
作者:互联网
1.回表:
回到主键索引树搜索的过程,我们称为回表,就是对非主键数据进行查询,内部执行是对这个内容的ID再去查询一边其他信息。
2.覆盖索引:
由于覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的 性能优化手段。这是mysql每个结构都是除ID,其他列上是对内容为键,ID为值,覆盖索引就是对他内容的值直接输出,不需要再进行回表操作。
3.在建立联合索引的时候,如何安排 索引内的字段顺序:
- 第一原则是,如果通过调 整顺序,可以少维护一个索引,那么这个顺序往往就是需要优先考虑采用的
- 第二原则,考虑的原则就是空间了,比如:name 字段是比 age 字段大的 ,那我就建议你创建一个(name,age) 的联合索引和一个 (age) 的单字段索 引。
- 这个参数设置为 OFF 表示的是,表的数据放在系统共享表空间,也就是跟数据字典放在 一起; 而如果是放在共享表空间中,即使表删掉了,空间也是不会回收的
- 这个参数设置为 ON 表示的是,每个 InnoDB 表数据存储在一个以 .ibd 为后缀的文件 中。
- 如果 MySQL 实在是担心排序内存太小,会影响排序效率,才会采用 rowid 排序算法,这 样排序过程中一次可以排序更多行,但是需要再回到原表去取数据。
- 如果 MySQL 认为内存足够大,会优先选择全字段排序,把需要的字段(包含查询字段)都放到 sort_buffer 中,这样排序后就会直接从内存里面返回查询结果了,不用再回到原表去取数据。
标签:名词,数据,扫描,查询,回表,索引,Mysql,排序,优化 来源: https://blog.csdn.net/weixin_44519874/article/details/120130502