你那个系统里面的查询页面不会涉及到数据的更新,也是通过COM+组件的完成的吗?如果不是通过COM+完成的,则可以设置事务隔离级别为READ UNCOMMITTED,允许脏读即可。
如果是通过COM+完成,那这个组件也没有必要开启事务。或者你也可以使用显式事务,设置事务的隔离级别为READ UNCOMMITTED。另外:
(1)通过组件服务管理工具可以设置每个组件的事务选项和事务隔离级别
(2)可以在.NET中通过TransactionAttribute特性的Isolation 属性来设置组件的事务隔离级别 

解决方案 »

  1.   

    另外参考一下:
    http://blog.csdn.net/netcoder/archive/2006/03/23/633153.aspx
    http://blog.csdn.net/netcoder/archive/2006/02/22/605478.aspx
      

  2.   

    兄弟,你说一些查询也会死锁,
    建议不要用 select * ,这样系统开销太大了,
    还有一个最好的办法就是,给你的服务器加内存,这个办法最管用,
    以前我公司也经常发生进程死锁,加了一次内存之后,效果明显,可以试试,
    不过要看你们部门的预算了.
      

  3.   

    把表分成2个,查询和删改的独立开。用job来定时传递更新。