提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、解决并发问题的方案
-- 解决并发问题的方案: (隔离界别)
//设置read uncommitted级别:
set session transaction isolation level read uncommitted;
//设置read committed级别:能解决 读未提交
set session transaction isolation level read committed;
//设置repeatable read级别:能解决 读未提交、不可重复读取的问题、幻读
set session transaction isolation level repeatable read;
//设置serializable级别: 串行化
set session transaction isolation level serializable;
(隔离界别)
-- 1、读未提交
-- 2、读已提交
-- 3、可重复读
-- 4、行化
SELECT @@transaction_isolation;
-- 查看当前的提交方式
SHOW VARIABLES LIKE 'autocommit';
-- 修改提交方式
SET autocommit = 0|1|ON|OFF;
SET autocommit = OFF;
BEGIN
select * from person
COMMIT
ROLLBACK
//设置mysql的隔离级别:
set session transaction isolation level 需要设置的事务隔离级别
例
方法2:mysql.ini配置修改
打开mysql.ini配置文件,在最后加上
#可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE.
[mysqld]
transaction-isolation = REPEATABLE-READ
这里全局默认是REPEATABLE-READ,其实MySQL本来默认也是这个级别