数据库学习

SQL-事务

2019-11-26  本文已影响0人  Manfestain

多用户数据库:数据库系统可以允许多个用户查询或者修改数据。如果每个人都只执行查询操作,则数据库服务器可以正常工作。如果有多个用户同时添加或者修改数据,那么服务器就需要多更多的记录。


锁是数据库服务器用来控制数据资源被并行使用的一种机制。

当数据库的一些内容被锁定时,任何打算修改这个数据的用户必须等到锁被释放。

第一种在有较多的并行读请求和写请求时等待时间过长。第二种在修改数据时存在长期运行的查询也会有问题。

锁的粒度

表锁可以使用较少的记录就可以锁定整个表,但用户增多时它会迅速产生不可接受的等待时间。行锁需要更多的记录,但是只要各个用户的兴趣在不同的行,就可以允许多人修改同一个表。


事务

事务是一种将多条SQL语句聚集到一起,并且能够实现要么所有语句都执行,要么一个也不执行(这个属性称为原子属性)。

从储蓄账户划转500到支票账户。如果成功从储蓄卡成功支取却没有存入支票账户,则进行rollback命令插销服务器自事务开始时的所有变化。否则,如果事情成功,则发出commit命令结束事务。
当程序完成了事务,并发出了commit命令,还没有将表话持久化到永久存储区,服务器就宕机了,那么服务器重新启动时数据库必须重新应用事务的变化(这种属性称为持久性)。

上一篇 下一篇

猜你喜欢

热点阅读