MySQL 还允许改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。改变优先级还可以确保特定类型的查询被处理得更快。
我们首先应该确定应用的类型,判断应用是以查询为主还是以更新为主的,是确保查询效率还是确保更新的效率,决定是查询优先还是更新优先。
下面我们提到的改变调度策略的方法主要是针对 MyISAM 存储引擎的,对于 InnoDB 存储引擎,语句的执行是由获得行锁的顺序决定的。
MySQL 的默认的调度策略可用总结如下:
写入操作优先于读取操作。
对某张数据表的写入操作某一时刻只能发生一次,写入请求按照它们到达的次序来处理。
对某张数据表的多个读取操作可以同时地进行。
MySQL 提供了几个语句调节符,允许你修改它的调度策略:
LOW_PRIORITY 关键字应用于 DELETE 、 INSERT 、 LOAD DATA 、 REPLACE 和 UPDATE 。
HIGH_PRIORITY 关键字应用于 SELECT 和 INSERT 语句。
DELAYED 关键字应用于 INSERT 和 REPLACE 语句。
如果写入操作是一个 LOW_PRIORITY (低优先级)请求,那么系统就不会认为它的优先级高于读取操作。在这种情况下,如果写入者在等待的时候,第二个读取者到达了,那么就允许第二个读取者插到写入者之前。只有在没有其它的读取者的时候,才允许写入者开始操作。这种调度修改可能存在 LOW_PRIORITY 写入操作永远被阻塞的情况。
SELECT 查询的 HIGH_PRIORITY (高优先级)关键字也类似。它允许 SELECT 插入正在等待的写入操作之前,即使在正常情况下写入操作的优先级更高。另外一种影响是,高优先级的 SELECT 在正常的 SELECT 语句之前执行,因为这些语句会被写入操作阻塞。
如果你希望所有支持 LOW_PRIORITY 选项的语句都默认地按照低优先级来处理,那么请使用 --low-priority-updates 选项来启动服务器。通过使用 INSERT HIGH_PRIORITY 来把 INSERT 语句提高到正常的写入优先级,可以消除该选项对单个 INSERT 语句的影响。
分享到:
相关推荐
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,…)] VALUES ({expr | DEFAULT},…),(…),… [ ON DUPLICATE KEY UPDATE col_name=expr, … ] 或: INSERT [LOW_...
Jmail.Priority = 3 //优先级 Jmail.AddRecipient(ls_mail_to) //收件人邮箱 Jmail.Body =ls_Text + "~r~n" //邮件内容 IF Jmail.Send(ls_host) THEN //ls_host为发件邮箱服务器 messagebox('Info',"发送成功!...
如何使用RoCE with PFC,里面是一个link目录,指向mellanox community的链接
PRIORITY CHECKING IN THE LIST
Path_Exception_Priority_edited.pdf
三、Priority Queues 优先队列 7 成员函数: 7 实例程序: 7 四、Bitset位集合 9 成员函数: 9 实例程序: 9 五、list 列表 11 成员函数: 11 实例程序: 12 六、vector向量 13 成员函数: 13 实例程序: 14 七、map...
DMA_InitStructure.DMA_Priority = DMA_Priority_High;// DMA 传输通道优先级为高,当使用一个DMA通道时,优先级设置不影响 DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; // 禁止DMA FIFO ,使用直连...
rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf lichee_parrotv1.1_20161202.tar.gz rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ rootroot@cm-System-Product-Name:/home/wwt/linux_...
//demo_extint.c #include "demo_extint.h" void EXTINT_Config(void) { /* (1)设置EXTINT功能 ... IRQ_SET_PRIORITY(IRQ_EXINT0, IRQ_PRIORITY_HIGH); IRQ_ALL_ENABLE(); //开启总中断 }
全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!...rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf ...
ZXAN(config-if)#bandwidth upstream fixed 0 fixedpkt 64 assured 20000 maximum 50000 maxburst 45000 priority 0 不变 整个onu上行 ZXAN(config-if)# ZXAN(config-if)# ZXAN(config-if)#bandwidth downstream ...
A program for priority in matlab
Priority encoder in VHDL.
voip-vlan profile vlan-12 tag-mode tag cvlan 12 priority 7 h248-profile h248 register-server ip 10.8.35.130 port 2944 h248-profile h248 backup-register-server ip 0.0.0.0 port 2944 h248-profile h248 ...
class ThreadDemo extends Thread { public thread1(String s) { super(s);... thread1.setPriority(thread.MIN_PRIORITY); thread1.setPriority(thread.MIN_PRIORITY); thread1.start(); thread2.start(); } }
Java编程实现提高线程优先级经典代码Java programming code to improve thread priority Classic
一个模拟按优先数调度算法实现处理器调度的程序。(1)假定系统有5个进程,每个进程用一个PCB来代表。PCB的结构为:• 进程名——如P1~P5。• 指针——按优先数的大小把5个进程连成队列,用指针指出下一个进程...
利用if语句中条件向上相与这一功能,以十分简洁的描述完成了一个8—3优先编码器的设计。
优先数调度算法常用于批处理系统中。在进程调度中,每次调度时,系统把处理机分配给就绪队列中优先数最高的进程。
Ethernet 802.3p priority queuing Ns2 source code