数据库是否会在使用Top 1时以一条记录的速度打破选择循环?
那样
select top 1 * from customer where cusId = 1234
快于
select * from customer where cusId = 1234
?
cusId
是唯一的,MSSql也明白如果没有top 1
“更快”地做到这一点?
答案 0 :(得分:4)
如果cusId
是主键,则两者应该是相同的:性能。
编辑:
如果您的唯一索引无论如何都会返回1个结果,那么您只会增加TOP 1的开销。
如果您通过某种方式订购的产品比您只对一行感兴趣那么会有所不同。
MORE:
除非涉及表扫描且cusId
根本没有索引,否则不会涉及循环。在这种情况下,TOP 1
无论如何都无法帮助你。
答案 1 :(得分:0)
在我看来,select * from customer where cusId = 1234
会更快...... b / c它的执行次数比第一次少......