14.4.3 Adaptive Hash Index  自适应hash index

自适应hash index(AHI) 让InnoDB 执行更像内存数据库在系统使用合适的负载组合和足够的内存用于Buffer pool,

基于观察到的搜索模式, MySQL 创建一个hash index 使用一个index key 前缀。

索引的前缀可以任何长度, 可能只有一些值在B树索引里是出现在hash index.

Hash indexes 是基于需求对于那些index 的索引页经常被访问的

如果一个表整个在主内存里, 一个hash index 可以加速查询通过直接查找任何元素,讲索引值变成一个指针。

InnoDB 有一个机制监控索引搜索,如果InnoDB 注意到查询可以从创建的hash index收益,它会自动处理

在一些负载下, 从hash index 查询加速极大的超过了额外的工作用于监控索引查询和维护hash index结构。

有时候, read/write lock 保护访问到自适应的hash index 可以变成连接的来源在高负载下

比如 多核并发关联,查询像%通配也不会从AHI(自适应索引)收益。

mysql> show variables like '%hash%';
+-------------------------------+-------+
| Variable_name | Value |
+-------------------------------+-------+
| innodb_adaptive_hash_index | ON | 对于负载 自适应索引是不需要的, 关闭它降低不需要的性能负载。 因为它是很难预测的 是否这个功能是合适的对于特定的系统, 考虑运行基准,使用一个现实的负载。 hash index总是基于一个存在的B-tree Index 在表上,InnoDB 可以创建一个hash index 在一个key的任何长度的前缀 定义用于B-tree 取决于搜索的模式 InnoDB观察B树索引。 一个Hash index可以是部分的, 覆盖那些经常被访问的页面

14.4.3 Adaptive Hash Index 自适应hash index的更多相关文章

  1. 14.2.5.6 Adaptive Hash Indexes 自适应Hash Indexes

    14.2.5.6 Adaptive Hash Indexes 自适应Hash Indexes adaptive hash index(AHI) 让InnoDB 执行更加像在一个内存数据库里在, 在不牺 ...

  2. Mysql InnoDB三大特性-- 自适应hash index

    Mysql InnoDB三大特性-- 自适应hash index

  3. InnoDB关键特性之自适应hash索引

    一.索引的资源消耗分析 1.索引三大特点 1.小:只在一个到多个列建立索引 2.有序:可以快速定位终点 3.有棵树:可以定位起点,树高一般小于等于3 2.索引的资源消耗点 1.树的高度,顺序访问索引的 ...

  4. hash表、hash算法

    概念: 散列表(Hash table.也叫哈希表),是依据关键码值(Key value)而直接进行訪问的数据结构. 也就是说,它通过把关键码值映射到表中一个位置来訪问记录,以加快查找的速度.这个映射函 ...

  5. php Hash Table(一) Hash Table的结构

    关于Hash Table专题: 一直想深入理解一下php的hash table的实现,以前一直是星星点点的看看,从未彻底的总结过,那就从这个专题开始吧! 主要想总结几个部分:hashtable结构,h ...

  6. 转载:字符串hash总结(hash是一门优雅的暴力!)

    转载自:远航休息栈 字符串Hash总结 Hash是什么意思呢?某度翻译告诉我们: hash 英[hæʃ] 美[hæʃ]n. 剁碎的食物; #号; 蔬菜肉丁;vt. 把…弄乱; 切碎; 反复推敲; 搞糟 ...

  7. Adaptive Backgrounds – jQuery 自适应背景插件

    Adaptive Backgrounds 是一款很特别的 jQuery 插件,可以从图像中提取主导颜色并将它应用到它的父元素.这个插件利用 Canvas 元素和 ImageData 对象.需要注意的是 ...

  8. 查询计划Hash和查询Hash

    查询计划hash和查询hash 在SQL Server 2008中引入的围绕执行计划和缓冲的新功能被称为查询计划hash和查询hash.这是使用针对查询或查询计划的算法来生成二进制hash值的二进制对 ...

  9. 14.8.11 Physical Structure of an InnoDB Index InnoDB Index 的物理结构

    14.8.11 Physical Structure of an InnoDB Index InnoDB Index 的物理结构 所有的InnoDB indexes 是 B-trees Index r ...

随机推荐

  1. Android 图片选择器

    图片选择器,遍历系统所有图片并显示,点击查看大图,长按选中,并将结果返回 字体颜色res/color建立text_selecor.xml <selector xmlns:android=&quo ...

  2. ubuntu12.10中没有/etc/inittab文件探究

    1. 我们首先来看一下Linux系统开机启动过程: Ubuntu是Linux系统的衍生系统,其开机启动过程与上图相差不大,但是随着系统的不断发展,终究还是有不同的地方,下面,我们来了解一下Ubuntu ...

  3. picasso_强大的Android图片下载缓存库

    tag: android pic skill date: 2016/07/09 title: picasso-强大的Android图片下载缓存库 [本文转载自:泡在网上的日子 参考:http://bl ...

  4. Python之路,Day18 - 开发一个WEB聊天来撩妹吧

    Python之路,Day18 - 开发一个WEB聊天来撩妹吧   本节内容: 项目实战:开发一个WEB聊天室 功能需求: 用户可以与好友一对一聊天 可以搜索.添加某人为好友 用户可以搜索和添加群 每个 ...

  5. codevs2492上帝造题的七分钟 2(线段树)

    /* 区间修改 区间查询 可以用线段树搞 但是一般的标记下放对这个题好像不合适 只能改叶子 然后更新父亲(虽然跑的有点慢) 小优化:如果某个点是1 就不用再开方了 所以搞一个f[i]标记 i 这个点还 ...

  6. 错误记录--关于foreach,集合已修改;可能无法执行枚举操作

    集合已修改,可能无法执行枚举操作.今天在使用foreach遍历的时候出现了这样的错误.查了一下,这个是使用foreach的典型的错误问题问题.foreach在遍历取数据的过程中,枚举器只允许读,不允许 ...

  7. javascript MD5加密

    /* * Javascript MD5 library - version 0.4 * * Coded (2011) by Luigi Galli - LG@4e71.org - * http://f ...

  8. easydialog.js

    /** * easyDialog v2.2 * Url : http://stylechen.com/easydialog-v2.0.html * Author : chenmnkken@gmail. ...

  9. strace 使用

  10. Xcode6中如何修改文件中自动创建的Created by和Copyright

    转自: http://blog.csdn.net/bjourney/article/details/46832159 在Xcode6创建问的时候,会自动生成注释 //  Created byxxx o ...