Mysql 5.5 版本之前的默认表引擎 存储数据时,会将数据存储在三个文件中:一个文件存数据,一个文件存结构,一个文件存索引 支持事务 存储数据时,会将数据存储在两个文件中:一个文件存数据和索引,一个文件存结构 隔离级别也可以在运行的服务器中动态设置,应使用SET TRANSACTION ISOLATION LEVEL语句。
一、Mysql表引擎
不支持事务
不支持外键
提供 表锁
支持外键
提供 行锁
查询速度相对较慢二、事务(Transaction)的概述
三、事务的四大特性(ACID)
事务隔离分为不同级别,包括读未提交(Read uncommitted)、读已提交(read committed)、可重复读(repeatable read) 和 串行化(Serializable)。四、事务的四种隔离级别
4.1、 如果事务没有隔离性,会导致以下情况:
4.2、 事务存在隔离性的话,会有以下四种隔离级别,隔离级别越高效率越低。
- Read uncommit: 读未提交:最低的隔离级别 可能会发生任何情况
五、事务隔离级别操作
1、设置事务隔离级别
READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE 例如: [mysqld] transaction-isolation = READ-COMMITTED
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL <isolation-level> 其中的<isolation-level>可以是: READ UNCOMMITTED READ COMMITTED REPEATABLE READ SERIALIZABLE 例如: SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
2、隔离级别的作用范围
• 事务隔离级别的作用范围分为两种: – 全局级:对所有的会话有效 – 会话级:只对当前的会话有效 • 例如,设置会话级隔离级别为READ COMMITTED : mysql> SET TRANSACTION ISOLATION LEVEL READ COMMITTED; 或: mysql> SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; • 设置全局级隔离级别为READ COMMITTED : mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
3、查看隔离级别
查看当前会话隔离级别 SELECT @@tx_isolation; 查看系统当前隔离级别 select @@global.tx_isolation;
六、事务操作的语句
1、提交操作
mysql> start transaction;#手动开启事务 mysql> insert into user(name) values('王五'); mysql> commit;#commit之后即可改变底层数据库数据 mysql> select * from user; +----+------+ | id | name | +----+------+ | 1 | 张三 | | 2 | 李四 | | 3 | 王五 | +----+------+ 3 rows in set (0.00 sec)
2、回滚操作
mysql> start transaction; mysql> insert into user(name) values('赵六'); mysql> rollback; mysql> select * from user; +----+------+ | id | name | +----+------+ | 1 | 张三 | | 2 | 李四 | | 3 | 王五 | +----+------+ 3 rows in set (0.00 sec)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算