数据库索引为什么用B+树

原因如下

  1. B+树能显著减少IO次数,提高效率
  2. B+树的查询效率更加稳定,因为数据放在叶子节点
  3. B+树能提高范围查询的效率,因为叶子节点指向下一个叶子节点

索引如何优化:

慢查询日志、查磁盘的I/O读写的数据量、show status

MySQL可以设置慢查询日志,当SQL执行的时间超过我们设定的时间,那么这些SQL就会被记录在慢查询日志当中,然后我们通过查看日志,用explain分析这些SQL的执行计划,来判定为什么效率低下,是没有使用到索引?还是索引本身创建的有问题?或者是索引使用到了,但是由于表的数据量太大,花费的时间就是很长,那么此时我们可以把表分成n个小表,比如订单表按年份分成多个小表等。
数据库毕竟是磁盘存储,我们可以通过项目运行过程中,检测磁盘I/O读写的数据量,来定位效率低下的SQL。

MySQL提供了show status命令,查看MySQL Server的运行参数,可以查看select,insert,delete,update语句的执行频率,慢查询次数,事务的提交和回滚的次数

posted @ 2021-08-09 08:58  holmes_now  阅读(196)  评论(0)    收藏  举报