
索引概述索引是一种数据结构,帮助mysql高效获取数据无索引:全表扫描,效率低有索引:索引优点:提高数据查询效率通过索引的排序,降低了数据排序成本索引缺点:占用更多空间但增删改的效率会降低结构Btree最多4个,如果迎来第五个,则则中间的向上Btree与Btree的区别:1.所有数据都会在叶子节点2.叶子节点形成一个单向列表mysql的Btree是hash索引使用哈希算法,存储在哈希表中通常查询效率高不支持范围查询不支持过索引排序Btree的特点相对于二叉树,层级更少,查询效率更高相对于Btree,所有数据都会保存在叶子节点,占用更多,指针更少,性能更低分类主键索引:只能一个 primary唯一索引:多个 unique常规索引:多个在Innodb里,根据存储方式分类聚集索引:必须有,只能一个二级索引:可以有多个聚集索引挂的是这一行的行数据(row)二级索引挂的是id第一个效率更高语法创建索引:create index 索引名 on 表名(字段名...)查看索引:show index from 表名删除索引:drop index 索引名 on 表名性能分析查看执行频次先找出业务的增删改查哪个业务多show global status like Com___;慢查询日志慢查询日志默认不开启查看是否开启慢查询通过慢查询日志定位查询效率较低的sqlshow profilesexplain执行计划在select前加上explain即可使用规则SQL优化插入数据优化若要插入大量数据:不要一条一条的插入,应该批量插入手动事务提交主键顺序插入不使用insert,而是使用load指令主键优化order by