0

什么存储类型(BTREE、RTREE、HASH)对于“from”和“to”来说是最好的(以及为什么)从这样的查询中获得最快的结果:

SELECT `title`, `from`, `to` FROM `table_name`
WHERE @year >= `from` AND @year <= `to`

@year 是要替换为数字的参数

所有数字(@year、from、to)都是浮点数。

4

1 回答 1

0

PRIMARY KEY 或 UNIQUE 和覆盖索引将使用 BTREE 将最适合这种类型的查询。

ALTER TABLE ADD PRIMARY KEY ix1(from, to, title);

或者

ALTER TABLE ADD UNIQUE KEY ix1(from, to, title) USING BTREE;

对于覆盖索引,您首先添加在 where 子句中使用的列,然后是在 group 中使用的列,然后是在 order by 中使用的列,然后是在 select 中使用的列。

HASH index最适合EQUAL搜索,BTREE index最适合range search.

于 2012-07-24T14:18:01.673 回答