可以绕过锁的SQL Server索引
作者: Jackie, 出处:IT专家网, 责任编辑: 王晓晨,
2008-07-23 07:01
使用SQL Server实际中存在一些不能使用覆盖索引的情况,覆盖索引只能用来解决锁的问题,可以尝试绕过锁的SQL Server索引。
【IT专家网独家】
问题提出:
使用SQL Server会面临一个问题:由于其它进程在对象上持有锁而造成阻塞,当前进程必须一直等待,直到锁被解除才能进行处理。这就是SQL Server确保数据完整性的一般锁机制,由于依赖事务的运行情况,因此会带来一些另外的问题。我们可不可以通过使用不同的索引或者覆盖当前查询来达到绕过阻塞的目的呢?
专家解答:
为了更好的阐述观点,我将使用一个表和来自2个不同会话的查询进行相应的说明。
表结构如下:
显示名-应用程序使用这个字段显示客户相关的信息。
当前配额-字段类型为数字,表示一个客户的当前配额(非相关性属性)。在该方案中,这个字段适用于特别的用户,使用一个特别的进程进行监视。
下个月的配额-字段类型为数字,表示下个月的计划配额。该字段将一直处于某个长期运行的事务中,用来计算所有客户的配额。
支持级别-该字段是一个1到3之间的整数,表示客户的级别(1=高,3=低),我们有多个应用,进程和事务(商业事务),它们会根据客户优先级的不同来处理不同的客户。
创建客户表

- 本文关键词:
- SQL Server
- 数据库

