索引
B+ Tree原理
数据结构
与红黑树比较
索引的定义
索引(Index)是帮助MySQL高效获取数据的数据结构 ===> 排好序的快速查找数据结构
基本语法
创建====>CREATE [UNIQUE] INDEX indexName ON mytable(columnname(length));(如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定length)
删除====>DROP INDEX [indexName] ON mytable;
查看====>SHOW INDEX FROM table_name;
索引的优点
大大减少了服务器需要扫描的数据行数
帮助服务器避免进行排序和分组,以及避免创建临时表(B+Tree 索引是有序的,可以用于 ORDER BY 和GROUP BY操作。临时表主要是在排序和分组过程中创建,因为不需要排序和分组,也就不需要创建临时表)
将随机 I/O 变为顺序 I/O(B+Tree 索引是有序的,会将相邻的数据都存储在一起)
索引优化分析
Explain
Explain+SQL语句
select_type
索引失效
查询优化分析
永远小表驱动大表
order by关键字优化
group by关键字优化
MySQL锁机制