在合适的场合使用 with (nolock) 提升查询性能

这里说的with(nolock)是指sql查询中的with选项,例如:

select * from t1 with(nolock) where a = 'xx'

with(nolock)的意思是查询时不考虑任何锁,可能脏读。虽然可能脏读,但是会带来性能的提升。 在一些不需要考虑脏读的场合会用到,例如我刚刚使用的场合,当用户在论坛发广告贴时删除其所有发帖,这个查询就不怕脏读,全删,或者漏一个正在发的都不是问题。

关于with的选项还有很多,可以指定锁表,锁行,指定查询时使用某个索引,等等。

具体请参考:http://msdn.microsoft.com/en-us/library/ms187373.aspx

posted @ 2009-07-02 10:42  玉开  阅读(3653)  评论(6编辑  收藏  举报