mysql 时间字段索引问题

我有一张文章表,有时间字段和文章类型字段,假设类型非常多,每个类型的文章最多200篇,如果我需要按照类型查询,按时间降序分页返回,我应该如何建立索引,或者优化表结构。

我现在用的mysql,sql语句大概是这样

select * from table where typpid in(1,2,3...) order by createtime limit 0,30

因为查哪些类型是不固定的,现在的查询会先把这些类型对应的数据全部取出,合并后在做排序,最后分页。我想要尽可能少的读取不需要的数据。

阅读 4.2k
2 个回答

就你这条 SQL 而言,如果 createtime 是非空的,最佳的索引是 createtime, typpid 的复合索引,请注意 createtime 必须在前面。

  • 号换成具体的字段名,建一个 typeid 和 createtime 的索引
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题