mysql 语句的调度优先级及改变
2011-12-27 20:59
225 查看
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]...
如果写入操作是一个LOW_PRIORITY(低优先级)请求,那么系统就不会认为它的优先级高于读取操作。在这种情况下,如果写入者在等待的时候,第二个读取者到达了,那么就允许第二个读取者插到写入者之前。只有在没有其它的读取者的时候,才允许写入者开始操作。理论上,这种调度修改暗示着,可能存在LOW_PRIORITY写入操作永远被阻塞的情况。如果前面的读取操作在进行的过程中一直有其它的读取操作到达,那么新的请求都会插入到LOW_PRIORITY写入操作之前。
SELECT查询的HIGH_PRIORITY(高优先级)关键字也类似。它允许SELECT插入正在等待的写入操作之前,即使在正常情况下写入操作的优先级更高。另外一种影响是,高优先级的SELECT在正常的SELECT语句之前执行,因为这些语句会被写入操作阻塞。
如果你希望所有支持LOW_PRIORITY选项的语句都默认地按照低优先级来处理,那么请使用--low-priority-updates选项来启动服务器
注意:以上说明是针对使用表锁的存蓄引擎而言,比如myisam 和merge 等
· 写入操作优先于读取操作。
· 对某张数据表的写入操作某一时刻只能发生一次,写入请求按照它们到达的次序来处理。
· 对某张数据表的多个读取操作可以同时地进行。
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]...
如果写入操作是一个LOW_PRIORITY(低优先级)请求,那么系统就不会认为它的优先级高于读取操作。在这种情况下,如果写入者在等待的时候,第二个读取者到达了,那么就允许第二个读取者插到写入者之前。只有在没有其它的读取者的时候,才允许写入者开始操作。理论上,这种调度修改暗示着,可能存在LOW_PRIORITY写入操作永远被阻塞的情况。如果前面的读取操作在进行的过程中一直有其它的读取操作到达,那么新的请求都会插入到LOW_PRIORITY写入操作之前。
SELECT查询的HIGH_PRIORITY(高优先级)关键字也类似。它允许SELECT插入正在等待的写入操作之前,即使在正常情况下写入操作的优先级更高。另外一种影响是,高优先级的SELECT在正常的SELECT语句之前执行,因为这些语句会被写入操作阻塞。
如果你希望所有支持LOW_PRIORITY选项的语句都默认地按照低优先级来处理,那么请使用--low-priority-updates选项来启动服务器
注意:以上说明是针对使用表锁的存蓄引擎而言,比如myisam 和merge 等
相关文章推荐
- 浅析mysql 语句的调度优先级及改变
- 浅析mysql 语句的调度优先级及改变
- MYSQL定时调度执行SQL语句
- 记一次mysql语句因为字符优先级的问题引起的查询结果不一致问题
- MySQL 语句中执行优先级——and比or高
- MySQL-SQL语句中SELECT语句的执行顺序
- MYSQL_一条语句中COUNT出不同的条件
- mysql 语句 循环入数据库(Navicat)
- 一条语句系列——MYSQL timestamp字段的填充方式
- MySQL 语句优化
- SQL-GROUP BY语句在MySQL中的一个错误使用被兼容的情况
- 详解MySQL第一篇—MySQL简要介绍及DDL语句
- 图解Mysql语句的执行过程
- 使用MySql数据库基准压力测试工具mysqlslap重放sql语句
- mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干
- mysql 中sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月 数据 (转:冰糖葫芦)
- MySQL查看SQL语句执行效率
- shell、C中mysql插入数据语句
- 【MySQL数据库开发之二】MySQL 基础语句的书写与操作!
- mysql操作语句