加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

Mysql入门浅析mysql 语句的调度优先级及改变

发布时间:2020-05-22 11:54:36 所属栏目:MySql 来源:互联网
导读:介绍《Mysql入门浅析mysql 语句的调度优先级及改变》开发教程,希望对您有用。

《Mysql入门浅析mysql 语句的调度优先级及改变》要点:
本文介绍了Mysql入门浅析mysql 语句的调度优先级及改变,希望对您有用。如果有疑问,可以联系我们。

MySQL的默认的调度策略可用总结如下:
写入操作优先于读取操作.
对某张数据表的写入操作某一时刻只能发生一次,写入请求按照它们到达的次序来处理.
对某张数据表的多个读取操作可以同时地进行.
MySQL允许你改变语句调度的优先级MYSQL应用

MySQL提供了几个语句调节符,允许你修改它的调度策略:
LOW_PRIORITY关键字应用于DELETE、INSERT、LOAD DATA、REPLACE和UPDATE.
HIGH_PRIORITY关键字应用于SELECT和INSERT语句.
DELAYED关键字应用于INSERT和REPLACE语句.
LOW_PRIORITY和HIGH_PRIORITY调节符影响那些使用数据表锁的存储引擎(例如MyISAM和MEMORY).DELAYED调节符作用于MyISAM和MEMORY数据表.
update/insert/load data /replace/delete[low_priority]....
select/insert[high_priotiy]...MYSQL应用

如果写入操作是一个LOW_PRIORITY(低优先级)请求,那么系统就不会认为它的优先级高于读取操作.在这种情况下,如果写入者在等待的时候,第二个读取者到达了,那么就允许第二个读取者插到写入者之前.只有在没有其它的读取者的时候,才允许写入者开始操作.理论上,这种调度修改暗示着,可能存在LOW_PRIORITY写入操作永远被阻塞的情况.如果前面的读取操作在进行的过程中一直有其它的读取操作到达,那么新的请求都会插入到LOW_PRIORITY写入操作之前.

SELECT查询的HIGH_PRIORITY(高优先级)关键字也类似.它允许SELECT插入正在等待的写入操作之前,即使在正常情况下写入操作的优先级更高.另外一种影响是,高优先级的SELECT在正常的SELECT语句之前执行,因为这些语句会被写入操作阻塞.

如果你希望所有支持LOW_PRIORITY选项的语句都默认地按照低优先级来处理,那么请使用--low-priority-updates选项来启动服务器
注意:以上说明是针对使用表锁的存蓄引擎而言,比如myisam 和merge 等
MYSQL应用

(编辑:安卓应用网)

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

    推荐文章
      热点阅读