1.死锁的发生根源:对有限资源的超限定范围的访问,进而等待(拥塞),死锁。
死锁的相关:
对资源的竞争访问,访问无序(不能合理的使用资源的顺序),申请未得的资源并不放弃已有资源。
2.事务
acid 和锁的
U S X 锁。 查询时S 共享锁 ,其他操作肯定有X 锁,更新有U 锁
锁保证数据一致,安全行。降低访问速度,增加资源分配的条件,增加死锁的发生。
锁的级别,表锁,行锁,库锁,数据页锁。 (可以通过该变锁的级别来加快处理的速度)
3.索引
聚集索引,非聚集索引。目的,加快数据处理速度,减少的资源的锁定时间。
4. with onlock 的合理使用(可以容忍脏读)。
5. sql server 的处理速度,DB服务器的处理能力,也是减少死锁的应用,硬件的提升还是有用。减少等待队列,减少拥塞的时间
最后说一句,oracle 的 撤销字段还是很好的,可以在查询时没有锁(MS SQl 有S 锁,阻止加不兼容的锁),减少了select的等待时间,看来银行,电信选他还是有道理的