mysql索引的学习笔记
来源:互联网 发布:node http 客户端ip 编辑:程序博客网 时间:2024/05/22 15:20
1、一般是B-Tree索引,B-Tree索引适用于全键值、键值范围、键前缀;
2、关于B-Tree的限制
a、如果不是最左列开始查找,则无法使用索引;
b、不能跳过索引的列,比如索引有三个列,使用第一个列和第三个列,第二个列没有使用,那么这个时候只使用了第一列的索引;
c、有范围查找的列,则该列的后续列,不能作为索引了;
3、索引命名一般,主键pk_开头,唯一索引uk_开头,一般的idx_开头;
4、索引的作用:
a、大大减少了服务器需要扫描的数据量;
b、索引可以帮助服务器避免排序和创建临时表;
c、索引可以将随机I/O变为顺序I/O;
5、三星系统评价索引:索引将相关记录放到一起则获得一星,索引中的顺序是查找的排列顺序一致则二星,索引中的列包含了查询所需的列则三星索引;
6、索引需要是独立的列,不能是表达式或者函数的参数;
7、索引的选择性,不重复的索引值(基数)与数据表记录总数的比值,字符串取前面的字符(left(column, 4);
8、多列索引,就是一个索引包含多个列,一般选择性高的列在最左边;
9、覆盖索引:一个索引包含所有需要查询的字段的值;
10、使用explain,验证查询语句的性能:
a、type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
一般来说,得保证查询至少达到range级别,最好能达到ref。
b、rows
这个数表示mysql要遍历多少数据才能找到,在innodb上是不准确的。
c、Extra
Using filesort 表示 MySQL 会对结果使用一个外部索引排序,而不是从表里按索引次序读到相关内容。可能在内存或者磁盘上进行排序。MySQL 中无法利用索引完成的排序操作称为“文件排序”
Using temporary 表示 MySQL 在对查询结果排序时使用临时表。常见于排序 order by 和分组查询 group by。
阅读全文
0 0
- mysql索引的学习笔记
- 【mysql学习笔记】-索引
- MySQL索引学习笔记
- MySQL索引学习笔记
- MySQL学习笔记-索引
- MySQL学习笔记6:索引
- MySQL学习笔记6:索引
- MySql学习笔记----索引,外键
- Mysql学习笔记五,索引
- MySql 学习笔记二:索引
- MySQL之索引学习笔记
- MYSQL学习笔记二:索引
- 学习笔记--mysql索引(三) 独立的列,前缀索引和索引的选择性
- MySql索引的学习
- mysql学习笔记(2)-创建MySQL索引
- mysql 索引的创建与优化 学习笔记
- MySQL及SQL语言学习笔记2--索引的操作
- MySQL学习笔记二(索引的操作)
- 第七章练习
- eclipse debug 基本的操作按钮解释
- Apache Beam核心—触发器规约
- HOG特征(Histogram of Gradient)
- Win10 64位 企业版 -- 安装MySQL使用笔记
- mysql索引的学习笔记
- 外观模式(Facade)-----基于JAVA语言
- Nexus2.12.1-01.war下载
- Springboot 集成Shiro自定义Filter
- qsort函数
- java-Swing-paintComponent
- CDC知识点总结
- Cats and Fish HihoCoder
- Linux C 守护进程实现后台运行nohup效果