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. 禁止执行某些讨厌的程序,如tadb.exe

    第一步:首先通过快捷键"Win+R"来打开"执行"菜单. 第二步:输入"gpedit.msc"回车确认,进入我们电脑中的组策略编辑器. 第三 ...

  2. Ubuntu 下 JDK+Tomcat+MySql 环境的搭建

    Linux环境 修改catalina.sh 在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行: JAVA_OPTS=&quo ...

  3. 阿里云服务器[教程3]一键安装php+mysql+ftp+nginx环境

    直接看地址 http://help.aliyun.com/manual?spm=0.0.0.0.F5PPZs&helpId=129

  4. 细说Lucene源码(一):索引文件锁机制

    大家都知道,在多线程或多进程的环境中,对统一资源的访问需要特别小心,特别是在写资源时,如果不加锁,将会导致很多严重的后果,Lucene的索引也是如此,lucene对索引的读写分为IndexReader ...

  5. iphone开发中数据持久化之——属性列表序列化(一)

    数据持久化是应用程序开发过程中的一个基本问题,对应用程序中的数据进行持久化存储,有多重不同的形式.本系列文章将介绍在iphone开发过程中数据持久化的三种主要形式,分别是属性列表序列号.对象归档化以及 ...

  6. [转] 设计模式 -- Facade

    PS:Façade模式注重简化接口,Adapter模式注重转换接口,Bridge模式注重分离接口(抽象)与其实现,Decorator模式注重稳定接口的前提下为对象扩展功能. Facade模式 Faca ...

  7. Python操作MySQL -即pymysql/SQLAlchemy用法

    本节介绍Python对于MySQL的一些操作用法 模块1:pymysql(等同于MySQLdb) 说明:pymysql与MySQLdb模块的使用基本相同,学会pymysql,使用MySQLdb也就不是 ...

  8. Oracle 安装中遇到的问题

    第一次用甲骨文,这期待!虽然mySQL也是甲骨文的. 去官网下了Oracle G11 R2 X64,本人的电脑是64位的win7,没开防火墙. 按照网上众多的教程,做完安装,可是安装过程不是那么的顺利 ...

  9. HTML (1)href与Action,get post

    1.   href与Action的区别 href只能get参数,action能get参数又能post参数 href一般用于单个连接,可以带参数(URL重写),是采用get方式请求的,在地址栏中可以看到 ...

  10. 学习CSS一些事(上)

    p.s:这是我在学习中总结出来知识,如有不对,请多包涵.谢谢. CSS样式:行内样式,内部样式,外部样式,他们的优先级是:行内,内部,外部,遵循就近原则. 一.HTML+CSS布局分为三大类,一是流式 ...