like 空格 匹配串
通配符
%任意长度字符串,包含0长度
-任意单个字符
转译字符
\用来转译通配符,即匹配%或-本身
性能相当,mysql中区别性能的是采用哪种索引方式,而不是索引的数据类型。mysql的btree索引和hash索引的区别
hash
索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像btree(b-tree)索引需要从根节点到枝节点,最后才能访问到页节点这样多次的io访问,所以
hash
索引的查询效率要远高于
btree(b-tree)
索引。
虽然
hash
索引效率高,但是
hash
索引本身由于其特殊性也带来了很多限制和弊端,主要有以下这些。
(1)hash
索引仅仅能满足=,<=>,in,is
null或者is
not
null查询,不能使用范围查询。
由于
hash
索引比较的是进行
hash
运算之后的
hash
值,所以它只能用于等值的过滤,不能用于基于范围的过滤,因为经过相应的
hash
算法处理之后的
hash
值的大小关系,并不能保证和hash运算前完全一样。
(2)hash
索引无法被用来避免数据的排序 *** 作。
由于
hash
索引中存放的是经过
hash
计算之后的
hash
值,而且hash值的大小关系并不一定和
hash
运算前的键值完全一样,所以数据库无法利用索引的数据来避免任何排序运算;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)