我的日常

登录/注册
您现在的位置:论坛 资料库 数据库开发 > Mysq如何设置事务隔离级别
总共48087条微博

动态微博

查看: 1927|回复: 1

Mysq如何设置事务隔离级别

[复制链接]
admin    

1244

主题

544

听众

1万

金钱

管理员

  • TA的每日心情

    2021-2-2 11:21
  • 签到天数: 36 天

    [LV.5]常住居民I

    管理员

    跳转到指定楼层
    楼主
    发表于 2015-07-18 22:22:48 |只看该作者 |倒序浏览

    Mysql5.5中Set Transaction Syntax是:

    • SET [GLOBAL | SESSION TRANSACTION ISOLATION LEVEL
    •   {
    •        REPEATABLE READ
    •      | READ COMMITTED
    •      | READ UNCOMMITTED
    •      | SERIALIZABLE
    •    }

    Mysql5.6及以上的Set Transaction Syntax是:

    • SET [GLOBAL | SESSION TRANSACTION
    •     transaction_characteristic [, transaction_characteristic ...
    • transaction_characteristic:
    •     ISOLATION LEVEL level
    •   | READ WRITE
    •   | READ ONLY
    • level:
    •      REPEATABLE READ
    •    | READ COMMITTED
    •    | READ UNCOMMITTED
    •    | SERIALIZABLE

    这条语句可以设置Isolation level,Mysql5.6以上可以通过该语句设置access mode。

    该条语句包含了可选的关键字:GLOBAL和SESSION,标识了该条语句的应用范围。

    1、隔离级别的范围
    • 使用GLOBAL关键字,该语句的影响范围是全局的,所有后续session都会生效,当前session不会生效。
    • 使用SESSION关键字,该语句影响范围是当前session的所有后续事务。
    • 都不使用时,该语句影响范围是当前session的下一个事务。

    设置全局默认隔离级别需要Super权限。任何session可以随便改变当前session的隔离级别(即便是在一个事务内部),也可以自由的设置下一个事务的隔离级别,但不能在一个事务内设置。

    • mysql> START TRANSACTION;
    • Query OK, 0 rows affected (0.02 sec)
    • mysql> SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
    • ERROR 1568 (25001): Transaction isolation level can't be changed
    • while a transaction is in progress
    2、隔离级别的设置

    对于全局默认隔离级别可以在服务器启动时,使用--transaction-isolation=level选项进行配置。Level的可选值为: READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, or SERIALIZABLE. 例如,下面设置默认隔离级别为REPEATABLE-READ,在[mysqlid]部分加入下面语句:

    • [mysqld
    • transaction-isolation = REPEATABLE-READ

    可以在运行时检查或设置global和session的事务隔离级别,可以使用tx_isolation系统变量设置:

    • SELECT @@GLOBAL.tx_isolation, @@tx_isolation;
    • SET GLOBAL tx_isolation='REPEATABLE-READ';
    • SET SESSION tx_isolation='SERIALIZABLE';


    科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、科帮网管理员和版主有权不事先通知发贴者而删除本文


    JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

    4

    主题

    0

    听众

    54

    金钱

    二袋弟子

    该用户从未签到

    沙发
    发表于 2015-09-05 07:28:47 |只看该作者
    好东西啊,谢谢楼主啊!!












    产品推广,发帖宣传,论坛发帖,网络推广,外链代发。
    联系QQ:18866--2808
    ________论坛发帖价格____________
    发帖价格
    套餐一 80元1000条
    套餐二 100元3000条
    套餐三 300元10000条
    当天发完,提供详细报表,保证数量。
    包月:500元每天1000条共30000条
    包月:600元每天1500条共45000条
    包月:800元每天3000条共90000条
    包月:1200元每天5000条共150000条
    包月:2400元每天12000条共360000条
    每天发完,提供详细报表。
    联系QQ:18866--2808
    回复

    使用道具 举报

    快速回复
    您需要登录后才可以回帖 登录 | 立即注册

       

    关闭

    站长推荐上一条 /1 下一条

    发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
    快速回复 返回顶部 返回列表