1,事务的基本特征:(acid原子性,一致性,隔离性,持久性);
2,四种错误问题:(脏读,不可重复读,幻读,重复读);
3,事务的隔离级别以及对应问题:
a,ReadUncommitted:有脏读、不可重复读和幻读的情况发生;
b,ReadCommitted:有不可重复读、幻读和重复读的情况发生;
c,Repeatable:有幻读情况发生;
d,Serializable:不会有问题
e,Snapshot:乐观锁的方式实现,会在Tempdb中创建副本,避免脏读和不可重复读;
4,锁分为行级锁、表级锁以及页锁;
5,对于大表如非必要不增加非空字段;若定要添加,则先初始化字段,后修改为非空;
6,nolock相当于ReadUncommitted,提高并发性能,会添加Sch-S锁,用以确保表结构不会被改变;故nolock要慎用,适用于非频繁变更的表以及可忍受脏读的表;
如有什么问题,请回帖共同探讨!
6,nolock相当于ReadUncommitted,提高并发性能,会添加Sch-S锁,用以确保表结构不会被改变;