加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql应用有关MyISAM引擎的锁定机制

发布时间:2020-12-12 02:26:08 所属栏目:MySql教程 来源:网络整理
导读:《Mysql应用有关MyISAM引擎的锁定机制》要点: 本文介绍了Mysql应用有关MyISAM引擎的锁定机制,希望对您有用。如果有疑问,可以联系我们。 导读:本节内容:MyISAM引擎的锁定机制在mysql数据库中,MyISAM存储引擎适合于读频率远大于写频率这一情况.目前的应用

《Mysql应用有关MyISAM引擎的锁定机制》要点:
本文介绍了Mysql应用有关MyISAM引擎的锁定机制,希望对您有用。如果有疑问,可以联系我们。

导读:本节内容:MyISAM引擎的锁定机制在mysql数据库中,MyISAM存储引擎适合于读频率远大于写频率这一情况.目前的应用可能会出现在某一时段读写...

本节内容:
MyISAM引擎的锁定机制MYSQL数据库

在mysql数据库中,MyISAM存储引擎适合于读频率远大于写频率这一情况.
目前的应用可能会出现在某一时段读写频率相当.MYSQL数据库

大致如下:
一个客户端发出需要长时间运行的SELECT
其他客户端在同一个表上发出INSERT或者UPDATE,这个客户将等待SELECT完成
另一个客户在同一个表上发出另一个SELECT;因UPDATE或INSERT比SELECT有更高有优先级,该SELECT将等待UPDATE或INSERT完成,也将等待第一个SELECT完成
也就是说对MyISAM表的读操作,不会阻塞其他用户对同一表的读哀求,但会阻塞对同一表的写哀求;对 MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作
;MyISAM表的读操作与写操作之间,以及写操作之间是串行的!MYSQL数据库

办理方案:
MyISAM存储引擎有一个系统变量concurrent_insert,专门用以控制其并发插入的行为,其值分别可以为0、1或2.
0 不允许并发操作
1 如果MyISAM表中没有空洞(即表的中间没有被删除的行),MyISAM允许在一个进程读表的同时,另一个进程从表尾插入记录.这也是MySQL的默认设置.
2 无论MyISAM表中有没有空洞,都允许在表尾并发插入记录
使用--low-priority-updates启用mysqld.这将给所有更新(修改)一个表的语句以比SELECT语句低的优先级.在这种情况下,在先前情形的最后的SELECT语句将在INSERT语句
前执行.MYSQL数据库

为max_write_lock_count设置一个低值,使得在必定数量的WRITE锁定后,给出READ锁定
使用LOW_PRIORITY属性给于一个特定的INSERT,UPDATE或DELETE较低的优先级
使用HIGH_PRIORITY属性给于一个特定的SELECT
使用INSERT DELAYED语句MYSQL数据库

《Mysql应用有关MyISAM引擎的锁定机制》是否对您有启发,欢迎查看更多与《Mysql应用有关MyISAM引擎的锁定机制》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读