我为一个相当大的查询构建了一个覆盖索引,该索引已经将选择时间减半。现在,所有的列都是INT(11)'s,所以这里没有问题,但是其中一个列是VARCHAR(255),我可以通过使用FULLTEXT索引来提高它的性能。现在,我强迫我的查询使用覆盖索引,因为优化器并不认为我的索引会更快,尽管如此,但现在我想知道是否可以指定在复合索引上使用哪一列索引算法,这样我就可以这样做:
i
我提出了将role转换为enum的想法,因为它将数字值映射到遮罩下的每个可能的值,而实际文本恰好存储在表级别上一次。到现在为止还好。现在,role字段有一个BTREE类型的index,我在列更改后计划了这个脚本:CREATE INDEX `Role` ON users(`role`) USING BTREE;
我的问题是:在这种情况下,像HASH这样的另一种类型会比BTREE节省更多的空间吗?或者,更广泛地说:在规模方面,该指数是
从Mysql文档中可以清楚地看到,哈希索引是使用only for equality comparisons that use the = or <=> operators的。NULL AUTO_INCREMENT, PRIMARY KEY (`id`),查询:explain select * from test where test.na