zoukankan      html  css  js  c++  java
  • (MariaDB/MySQL)MyISAM存储引擎读、写操作的优先级

    MariaDB/MySQL中使用表级锁的存储引擎(例如MyISAM、Aria(MariaDB对MyISAM引擎的改进,前身是MyISAM))在读(select)、写操作(insert、delete、update、replace)上有优先级的概念。默认情况下,写操作的优先级高于读操作。注:不适用于InnoDB存储引擎。

    以MyISAM为例。当有进程正在写MyISAM表的时候,又有新的读操作、写操作出现,则会先执行完所有的写操作,等写完后才会读表。实际上并非总是先执行完所有写操作,因为有系统变量max_write_lock_count控制最大写锁数量,当这些数量的写操作完成后会转为执行读操作。

    所以,INSERT、LOAD DATA INFILE、UPDATE、REPLACE、DELETE语句都有LOW_PRIORITY关键字,用来降低对MyISAM存储引擎的写操作优先级,使得MariaDB先执行完所有的读操作后再执行写操作。而SELECT语句有HIGH_PRIORITY关键字,用来提高读操作的优先级。除了这两个关键字,还可以设置系统变量low_priority_updates=on来降低写操作优先级。

    唯一需要注意的是,INSERT语句不仅有LOW_PRIORITY,也有HIGH_PRIORITY。当使用INSERT HIGH_PRIORITY语句时,表示禁用INSERT的并发插入行为。

  • 相关阅读:
    小程序 的授权登陆
    ant desgin pro 项目中的 数据流方案
    new Date() 日期格式处理
    小程序手写 的选择日期 区间
    小程序中的slot(插槽)
    微信小程序实现城市选择和城市切换
    微信小程序 使用页面栈 修改上一个页面的data数据
    2021/2/25
    2021/2/24
    2021/2/23
  • 原文地址:https://www.cnblogs.com/f-ck-need-u/p/8907252.html
Copyright © 2011-2022 走看看