我正在升级库存数据库并希望加快查询速度。大部分排序在 2 列上,每列都是一个范围。例如。
SELECT ....
WHERE price BETWEEN 10.50 AND 34.20
AND date BETWEEN 1311264060 AND 1313942460
ORDER BY stockNo LIMIT 100
我知道因为使用了范围,MySQL 只能在一列上使用索引。换句话说,它可以使用索引来提取与价格范围匹配的记录,但随后必须借助表扫描来查找与日期范围匹配的记录。
我的想法是假设价格和数据是 x 和 y 轴并填充一列空间数据,并利用 MySQL 的空间搜索和 R-TREE 索引来提取数据。
有人有R-TREES的经验吗?这可能会给我提速吗?