Mysql的索引

  1. 索引
    索引相当于是一种目录,可以极大的提升mysql的查询速度。
    虽然可以提高查询速度,但同时也会降低更新表的速度,因为每次除了要更新数据还要更新索引文件。
  2. 1 索引原理
    数据库的数据保存在磁盘上,cpu把数据从磁盘加载到内存需要消耗大量时间。索引的核心是不断缩小查询范围、把随机事件变为顺序事件来锁定数据在磁盘上的物理位置。
    但是数据库的查询场景会复杂得多,简单的如等值查询、范围查询(<、>、between),还有关键字(模糊)查询(select * from car where name like '_马%';)、离散查询(select * from car where price=30 or price=40 or price=50 or price=60;)、排序查询等等。

数据库查询的种类:https://blog.csdn.net/weixin_30347009/article/details/96603565

1.2 索引种类
单列索引/组合索引/全文索引
聚集索引/非聚集索引
B树、B+树/哈希索引/全文索引/空间数据索引
没有特别说明,默认使用B+树索引

  1. 聚集索引与非聚集索引

  2. B树、B+树
    B树与B+树的区别在于非叶子结点是否存储数据以及叶子节点间是否有指针相连

  3. 索引的优化

  4. 如何根据场景和业务特点选择索引结构

参考文献:
https://cloud.tencent.com/developer/article/1026013
https://juejin.im/post/5d4d82caf265da039c6360ff
https://tech.meituan.com/2014/06/30/mysql-index.html

全部评论

相关推荐

10-10 16:30
济宁学院 Java
一表renzha:面试官:蓝桥杯三等奖?你多去两次厕所都能拿二等吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务