create table t1(x char(10), y char(10), key hs using hash(x,y)) engine=myisaminsert into t1 values('fdsfd', 'gdfas'),('fds', 'gasd');describe select * from t1 where x>'fd'结果为
1 SIMPLE t1 index hs hs 62 2 Using where; Using index
请问hash索引这是怎么了, 支持范围查找了????????????????????????????
1 SIMPLE t1 index hs hs 62 2 Using where; Using index
请问hash索引这是怎么了, 支持范围查找了????????????????????????????
解决方案 »
- EXCEL导出表头数据
- 请教:C/S架构的局或网软件,服务器安装了mysql也配置了,在客户端只是调用服务器端的mysql数据?
- .net 访问 带有输出参数的存储过程,为什么无法获得输出参数值?
- 关于索引问题!
- 高分求一思路:一样商品对应多个类别时该如何设计?
- 请问下 这样的应该怎么显示出原来的字符
- 请问mysql是不是可以装在非c盘根目录下,比如f:\,我的c:只剩9M了!
- 好消息,最新版Mysql已经支持简单的事务处理了,免费而精美的午餐就要来了!
- mysql API 怎么 向数据库的表中存储数据
- mysql 求金额占比
- 关于mysql procedure嵌套游标
- Mysql的Select变量问题
显然扫描hash索引要比扫描表代价小
但是describe就是很明确的提示使用了hs这个索引啊
Query OK, 0 rows affected (0.07 sec)
mysql> insert into t1 values('fdsfd', 'gdfas'),('fds', 'gasd');
Query OK, 2 rows affected (0.17 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> show index from t1;
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| t1 | 1 | hs | 1 | x | A | NULL | NULL | NULL | YES | BTREE | | |
| t1 | 1 | hs | 2 | y | A | NULL | NULL | NULL | YES | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)MyISAM 用的是B-TREE索引,不支持显式的hash索引,但是可以内部使用自适应HASH索引。memory引擎默认是hash索引。如果是B-TREE索引,一切都好解释了吧?