①事务有哪些隔离级别
读未提交(read-uncommitted)RU
读已提交(read-committed)RC
可重复读(repeatable-read)RR
可串行化(serializeable)
②查看隔离级别
select @@tx_isolation;
select @@transaction_isolation;
select processlist_id,VARIABLE_VALUE from variables_by_thread,threads where variables_by_thread.thread_id=threads.thread_id and VARIABLE_NAME='tx_isolation';
③设置隔离级别
set session transaction isolation level repeatable read;
set global transaction isolation level read committed;
配置文件:transaction_isolation=repeatable-read
④不同隔离级别下会产生什么隔离效果
脏读:一个事务可以读取另一个并行的事务的脏页(未提交的update,delete,insert)
不可重复读:一个事务可以读取另一个并行的事务的已提交的修改操作update
幻读:一个事务可以读取另一个并行的事务的已提交的插入操作insert
读未提交(read-uncommitted)RU
产生脏读
读已提交(read-committed)RC
不会产生脏读,产生不可重复读;
可重复读(repeatable-read)RR
不会产生脏读,不会产生不可重复读;会产生幻读;
可串行化(serializeable)读加锁,写加锁,读写冲突
不会产生脏读,不会产生不可重复读;不会产生幻读;
评论前必须登录!
注册