MySQL中自适应哈希索引
2016-01-26 22:37
337 查看
自适应哈希索引采用之前讨论的哈希表的方式实现,不同的是,这仅是数据库自身创建并使用的,DBA本身并不能对其进行干预。自适应哈希索引近哈希函数映射到一个哈希表中,因此对于字典类型的查找非常快速,如SELECT * FROM TABLE WHERE index_col='xxx'但是对于范围查找就无能为力。通过SHOW ENGINE INNODB STATUS 可以看到当前自适应哈希索引的使用情况
现在可以看到自适应哈希索引的使用信息了。包括自适应哈希索引的大小、使用情况,每秒使用自适应哈希索引搜索的情况。需要注意的是,哈希索引只能用来搜索等值的查询,如
而对于其他查找类型,如范围查找,是不能使用哈希索引的。因此这里出现no--hash searches的情况,通过hash searches:non-hash searches可以大概了解使用哈希索引后的效率
由于自适应哈希索引是由InnoDB存储引擎自己控制的,因此这里的这些信息只仅供参考。不过可以通过参数innodb_adaptive_hash_index来禁用或启动此特性,默认是开启
------------------------------------- INSERT BUFFER AND ADAPTIVE HASH INDEX ------------------------------------- Ibuf: size 1, free list len 0, seg size 2, 94 merges merged operations: insert 280, delete mark 0, delete 0 discarded operations: insert 0, delete mark 0, delete 0 Hash table size 4425293, node heap has 1337 buffer(s) 174.24 hash searches/s, 169.49 non-hash searches/s
现在可以看到自适应哈希索引的使用信息了。包括自适应哈希索引的大小、使用情况,每秒使用自适应哈希索引搜索的情况。需要注意的是,哈希索引只能用来搜索等值的查询,如
SELECT * FROM table WHERE index_col='xxx'
而对于其他查找类型,如范围查找,是不能使用哈希索引的。因此这里出现no--hash searches的情况,通过hash searches:non-hash searches可以大概了解使用哈希索引后的效率
由于自适应哈希索引是由InnoDB存储引擎自己控制的,因此这里的这些信息只仅供参考。不过可以通过参数innodb_adaptive_hash_index来禁用或启动此特性,默认是开启
相关文章推荐
- MySQL中InnoDB存储引擎中的哈希算法
- mysql主从复制
- navicat for mysql导入导出数据库表格及数据
- mysql数据库的安装与使用
- MySQL慢查询配置,及解决相关问题
- jsp页面提交中文到MySql数据库乱码
- jsp链接mysql数据库
- 批量kill mysql线程和输出完整info mysql线程
- redhat 6.5最小化系统安装mysql 5.7.9
- mysql完全卸载
- MySQL数据库的JDBC连接方法
- 3.2mysql性能测试--课程笔记
- MySQL建立索引的注意事项
- Ubuntu下安装mysql
- mysql主从复制
- JSP+Servlet+JDBC+MySQL实现表单生成
- 关于Mysql5.6中使用group_concat()函数返回的数据总数不完整的坑
- C3P0官方对于MySQL8小时问题的解决方案
- 21分钟MYSQL入门
- mysql创建索引