数据库:MySQL索引
2019-04-24 15:37
239 查看
索引认知
- 索引可以加快数据库的检索速度
- 索引会降低增删改等操作的速度
- 索引需要占用物理和数据空间
- MySQL支持Hash索引和B+树索引
那么为什么呢?
- 使用索引为什么可以加快数据库的检索速度啊?
- 为什么索引会降低增删改等操作的速度
- Hash索引和B+树索引有什么区别?主流的使用哪一个比较多?InnoDB存储都支持吗?
索引做了什么可以提高检索速度?
- 其实就是将无序的数据变得相对有序,通过’目录’快速定位,底层结构就是B+树
- B+树是平衡树的一种,检索的时间复杂度为O(logn)
- B+树是一个平衡树,如果我们对这个树进行增删改的话就会破坏他的原有结构,而要维持平衡树,就必须做额外的工作,从而导致增删改的速度降低
哈希索引
哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。
- 本质上就是把键值换算成新的哈希值,根据这个哈希值来定位
相关文章推荐
- mysql 数据库建立索引
- Mysql 数据库查询优化之索引
- Mysql 数据库 (5)约束视图与索引
- mysql 数据库中索引原理分析说明
- MySQL里建立索引应该考虑数据库引擎的类型
- MySQL外键及级联删除 && 表的存储引擎与创建索引 && 删除数据库和表
- MYSQL查询数据库表索引的硬盘空间占用
- mysql学习day03(事物、视图、索引、部分数据库设计)
- [数据库]MySQL索引背后的数据结构及算法原理
- Mysql性能优化实战:数据库锁的介绍与索引查找原理
- 初学mysql(六)-数据库之索引
- 【数据库Mysql】——初识索引
- mysql的优化(表的设计,优化步骤,四种索引,分析慢查询,使用索引的深入解析,存储引擎分析,表的分割,数据库配置)
- mysql语句:索引,游标,存储过程,视图,分区,分库分表,数据库集群,数据库负载均衡
- 【数据库MySQL】——索引增删改查
- liunx中(mysql 索引住主外键关系对数据库的操作深入学习)
- MySQL - MySQL 5.1参考手册 - 9.语言结构 - 9.2. 数据库、表、索引、列和别名 - 9.2.2. 识别符大小写敏感性
- MySQL添加数据库的唯一索引的几种方式~
- MySQL 数据库性能优化之索引优化
- 数据库为什么要用B+树结构--MySQL索引结构的实现