1.事务
事务是数据库运行中的一个逻辑工作单位,处理事务满足所谓的ACID属性。
A(atomic):原子性
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。
C(Consistent):一致性
事务执行的结果必须使数据从一个一致性状态变到另一个一致性状态。事务操作成功后,数据库所处的状态和它的业务规则是一致的。
I(insulation):隔离性
一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是格力的,并发执行的各个事物之间不能互相干扰。
D(duration):持久性
持久性指一个事务一旦提交,它对数据库中的数据改变就应该是永久性的。即使事务提交后,数据库马上崩溃,在数据库重启后,也必须能够保证通过某种机制恢复数据。
并发:
数据库并发会导致更新丢失、脏读、不可重复读、虚读
锁是处理并发控制的主要方法。
共享锁、独占锁、更新锁
死锁问题
数据库优化: