博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BTREE索引和HASH索引
阅读量:6261 次
发布时间:2019-06-22

本文共 716 字,大约阅读时间需要 2 分钟。

hot3.png

MEMORY存储引擎的表可以选择使用BTREE所以或者HASH索引,两种不同类型的索引各有其不同的适用范围。HASH有一些重要的特征在使用的使用需要注意,比如:只用于使用=或<=>操作符的等式比较。优化器不能使用HASH索引来加速order by操作。Mysql不能确定在两个值之间大约有多少行,如果将一个MyISAM表改为HASH索引的MEMORY表,会影响一些查询的执行效率。只能使用整个挂件自来搜索一行。

而对于BTREE索引,当时有<、>、>=、<=、!=、between或者like 'pattern'(其中不以通配符开始)操作符时,都可以使用相关列上的索引

select * from t1 where key_col = 1 or key_col in(12,23,21);这个范围查询适用于BTREE索引和HASH索引

下面示例只适用于BTREE索引

select * from t1 where key_col >1 and key_col < 10;

select * from t1 where key_col like 'a%' or key_col between 'lili' and 'simon';

BTREE索引和HASH索引

默认hash索引

BTREE索引和HASH索引

创建memory表

这边创建了存储引擎为memory的表,可以从第一张表看到默认的表索引是HASH,所以在查询的时候,默认的type就是全文搜索了。

BTREE索引和HASH索引

BTREE索引

如果是BTREE索引那么可以通过索引访问。

BTREE索引和HASH索引

范围搜索

在使用索引的时候需要注意MEMORY表时,要注意sql的写法。

转载于:https://my.oschina.net/u/2391658/blog/1483982

你可能感兴趣的文章
html5-web本地存储
查看>>
CentOS 6.5 安装 Redis 执行 make #error &quot;Newer version of jemalloc required&quot;
查看>>
12.遍历二叉树与二叉树的建立
查看>>
Delphi 关键字详解[整理于 "橙子" 的帖子]
查看>>
Session的配置
查看>>
DropDownList中显示无限级树形结构
查看>>
光学字符识别引擎 Tesseract-ocr 安装过程
查看>>
定时备份windows机器上的文件到linux服务器上的操作梳理(rsync)
查看>>
MOSS程序中如何发Mail?
查看>>
错误:”未能加载文件或程序集“System.Web.Mvc, Version=2.0.0.0” 解决方法
查看>>
jQuery之post方法
查看>>
[LeetCode] Binary Tree Postorder Traversal
查看>>
js时间加减
查看>>
【易语言学习】Day1
查看>>
mapreduce中控制mapper的数量
查看>>
JS~jwPlayer为js预留的回调方法大总结
查看>>
wpa_supplicant是什么?
查看>>
ElasticSearch 攻略(三)概念认识
查看>>
第 19 章 MySQL Server
查看>>
Python Set Literals
查看>>