请教数据库建立索引

2017-09-08 15:18:40 +08:00
 petelin

有两个列, status(5 中状态), create_time

查询的时候 select * from - where status=1 and create_time > '-';

因为 status = 1 的记录比较少,所以想 status 在前(这样直接选出几天记录然后在筛选), 但是书上说应该给选择性多的列建立索引, 像性别这种就不适合.

请问, 索引顺序是 status 在前好, 还是 create_time 在前好?

1316 次点击
所在节点    问与答
2 条回复
mm163
2017-09-08 15:59:43 +08:00
create_time 建索引,查询的时候 create_time 在前。
status 建索引没意义。
petelin
2017-09-14 18:09:52 +08:00
@mm163 我举个例子吧, 如果有 100 万个 status 为 0 的记录, 有一条 stattus 为 1 的记录, 那么查找 status 为 1 的记录能不能直接命中呢? 如果能的话, 那性能提升就很明显.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/389213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX