千家信息网

MySQL自适应哈希索引的特点和缺陷有哪些

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章主要讲解了"MySQL自适应哈希索引的特点和缺陷有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL自适应哈希索引的特点和缺陷有哪些
千家信息网最后更新 2025年01月25日MySQL自适应哈希索引的特点和缺陷有哪些

这篇文章主要讲解了"MySQL自适应哈希索引的特点和缺陷有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"MySQL自适应哈希索引的特点和缺陷有哪些"吧!

InnoDB缓冲池用来存放各种数据的缓存,包括有索引页、数据页、undo页、插入缓冲、自适应哈希索引、innodb存储的锁信息、数据字典信息等,自适应哈希索引则是mysql innodb缓冲池的一部分。
Innodb存储引擎会监控对表上二级索引的查找,如果发现某二级索引被频繁访问,二级索引成为热数据,通过建立哈希索引可以带来速度的提升。
查看自适应hash索引功能被打开参数:
mysql> show variables like '%ap%hash_index';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| innodb_adaptive_hash_index | ON |
+----------------------------+-------+
1 row in set (0.01 sec)
  经常访问的二级索引数据会自动被生成到hash索引里面去(最近连续被访问三次的数据),自适应哈希索引通过缓冲池的B+树构造而来,因此建立的速度很快。
特点:

  1)、无序,没有树高

  2)、降低对二级索引树的频繁访问资源

    索引树高<=4,访问索引:访问树、根节点、叶子节点

  3)、自适应

缺陷:

  1)、hash自适应索引会占用innodb buffer pool;

  2)、自适应hash索引只适合搜索等值的查询,如select * from table where index_col='xxx',而对于其他查找类型,如范围查找,是不能使用的;

  3)、极端情况下,自适应hash索引才有比较大的意义,可以降低逻辑读。

感谢各位的阅读,以上就是"MySQL自适应哈希索引的特点和缺陷有哪些"的内容了,经过本文的学习后,相信大家对MySQL自适应哈希索引的特点和缺陷有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0