事务和连接池
事务
1.事务的概念:指逻辑上的一组操作,组成这一组的各个单元要么全部成功,要么全部不成功。
2.事务的特性:
原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性:事务必须是数据库从 有个一致性状态变换发到另一个一致性状态。比如:转账前和转账后的总金额是不变的。
隔离性:事务的隔离性是指多个用户并发访问数据库时数据库为每一个用户开启的事务,不能被其他事务的操作数据做干扰,多个事务之间要相互隔离。
持久性:值一个事务一旦被提交,它多数据库中数据的改变就是永久性的,接下来即便数据库发生故障也不应该对其有任何影响。
3.事务的隔离级别:
脏读:值一个事务读取到了另一个事务为提交的数据。
不可复读:在一个事务内读取表中的某一行数据,多次读取结果不同。一个事务读取到了另一个事务提交后的数据(update)。
虚读(幻读):值在一个事务内读取到了别的事务插入的数据,,导致前后读取不一致(insert)。
连接池
数据库连接池负责分配、管理和释放数据连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新创建一个。释放空闲时间超过最大空闲时间的数据库来避免因为没有释放数据库连接而引起的数据路连接遗漏,这项技术能明显的提高对数据库操作的性能。
目的:解决建立数据库连接耗费资源和时间很长的问题,提高性能。
原理: