有一个SQL:
select * from table where A=cid order by B desc, C desc limit lower_bound, 10;每一列都有自己的索引。
当lower_bound较大时,查询时间较长。因为表中有十亿条记录,其中一些cid有超过1000万条记录。
我尝试添加一个联合索引(A, B, C)。我的数据库基于MySQL,但它不支持联合索引。
有什么解决方案可以优化这个查询吗?
发布于 2019-11-22 15:55:48
您可以按如下方式创建Composite Index:
CREATE INDEX index_name
ON table_name(A,B,C);即使
ORDER BY与索引不完全匹配,也可以使用索引,只要索引的所有未使用部分和所有额外的ORDER BY列都是WHERE子句中的常量。
https://stackoverflow.com/questions/58989712
复制相似问题