欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 运维知识 > 数据库 >内容正文

数据库

mysql / 索引模型 -尊龙游戏旗舰厅官网

发布时间:2024/10/14 数据库 34 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 mysql / 索引模型 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、索引的作用

提高数据查询效率。

二、常见索引模型

哈希表、有序数组、搜索树。

三、哈希表

思路:把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。

哈希冲突的处理办法:链表、红黑树。

哈希表适用场景:只有等值查询的场景。

四、有序数组

思路:按顺序存储。查询用二分法就可以快速查询,时间复杂度是:o(log(n))。

有序数组查询效率高,更新效率低

有序数组的适用场景:静态存储引擎。

五、二叉搜索树

每个节点的左儿子小于父节点,父节点又小于右儿子。

查询时间复杂度o(log(n)),更新时间复杂度o(log(n))

六、mysql索引模型

数据库存储大多不适用二叉树,因为树高过高,会适用 n 叉树。

innodb 中的索引模型:b tree 。

七、索引类型

主键索引(聚簇索引)的叶子节点存的是用于保存数据的页,非主键索引(二级索引)的叶子节点内容是主键的值。

主键索引和普通索引的区别:主键索引只要搜索 id 这个 b tree 即可拿到数据。普通索引先搜索索引拿到主键值,再到主键索引树搜索一次(回表)

一个数据页满了,按照b tree算法,新增加一个数据页,叫做页分裂,会导致性能下降。空间利用率降低大概50%。当相邻的两个数据页利用率很低的时候会做数据页合并,合并的过程是分裂过程的逆过程。

从性能和存储空间方面考量,自增主键往往是更合理的选择。

 

(saw:game over!)

总结

以上是尊龙游戏旗舰厅官网为你收集整理的mysql / 索引模型的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图