如果只选择一行,则排名前1位更快
当使用Top 1时,数据库是否会像选择循环一样快地截断选择循环?
因此, select top 1 * from customer where cusId = 1234
比select * from customer where cusId = 1234
更快?
cusId
是独一无二的,那么MSSql理解为在没有top 1
情况下“更快”吗?
如果cusId
是主键,则两者应该是相同的re:性能。
编辑:
如果您拥有唯一的索引,则只会增加TOP 1的开销,无论如何都会返回1个结果。
如果你通过某种东西来订购,而不是仅对一行感兴趣,情况将会不同。
更多:
除非涉及表扫描并且cusId
根本没有索引,否则不涉及循环。 在这种情况下, TOP 1
无法帮助你。
在我看来, select * from customer where cusId = 1234
会更快..它有一个操作比第一个操作更少...
上一篇: Top 1 faster if only selecting one row
下一篇: Setting up XCode 4 workspace to build a library for both Mac and iOS