我有一张文章表,有时间字段和文章类型字段,假设类型非常多,每个类型的文章最多200篇,如果我需要按照类型查询,按时间降序分页返回,我应该如何建立索引,或者优化表结构。
我现在用的mysql,sql语句大概是这样
select * from table where typpid in(1,2,3...) order by createtime limit 0,30
因为查哪些类型是不固定的,现在的查询会先把这些类型对应的数据全部取出,合并后在做排序,最后分页。我想要尽可能少的读取不需要的数据。
就你这条 SQL 而言,如果 createtime 是非空的,最佳的索引是 createtime, typpid 的复合索引,请注意 createtime 必须在前面。