假设表tableX
有 id
(primary key) name
,age
, phone
, 都有索引
如果这样查询: select phone from tableX where name='Dennis' order by age
这个过程应该是
name
index 找到所有符合 Dennis 的 id ,记为集合 Setage
index 给集合 Set 排序phone
但第二步是怎么实现的呢?
我觉得有一种可能是直接在 age 的索引 b+树里面顺序扫描,看扫描到的 id 是不是在 Set 里面,如果是就加入到一个列表。那么这个列表里面就是按照 age 排序号的 id
但这样和顺序扫描有什么区别吗?为什么要用索引呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.