淺析mysql 語句的調(diào)度優(yōu)先級(jí)及改變
MySQL的默認(rèn)的調(diào)度策略可用總結(jié)如下:
· 寫入操作優(yōu)先于讀取操作。
· 對(duì)某張數(shù)據(jù)表的寫入操作某一時(shí)刻只能發(fā)生一次,寫入請(qǐng)求按照它們到達(dá)的次序來處理。
· 對(duì)某張數(shù)據(jù)表的多個(gè)讀取操作可以同時(shí)地進(jìn)行。
MySQL允許你改變語句調(diào)度的優(yōu)先級(jí)
MySQL提供了幾個(gè)語句調(diào)節(jié)符,允許你修改它的調(diào)度策略:
· LOW_PRIORITY關(guān)鍵字應(yīng)用于DELETE、INSERT、LOAD DATA、REPLACE和UPDATE。
· HIGH_PRIORITY關(guān)鍵字應(yīng)用于SELECT和INSERT語句。
· DELAYED關(guān)鍵字應(yīng)用于INSERT和REPLACE語句。
LOW_PRIORITY和HIGH_PRIORITY調(diào)節(jié)符影響那些使用數(shù)據(jù)表鎖的存儲(chǔ)引擎(例如MyISAM和MEMORY)。DELAYED調(diào)節(jié)符作用于MyISAM和MEMORY數(shù)據(jù)表。
update/insert/load data /replace/delete[low_priority]....
select/insert[high_priotiy]...
如果寫入操作是一個(gè)LOW_PRIORITY(低優(yōu)先級(jí))請(qǐng)求,那么系統(tǒng)就不會(huì)認(rèn)為它的優(yōu)先級(jí)高于讀取操作。在這種情況下,如果寫入者在等待的時(shí)候,第二個(gè)讀取者到達(dá)了,那么就允許第二個(gè)讀取者插到寫入者之前。只有在沒有其它的讀取者的時(shí)候,才允許寫入者開始操作。理論上,這種調(diào)度修改暗示著,可能存在LOW_PRIORITY寫入操作永遠(yuǎn)被阻塞的情況。如果前面的讀取操作在進(jìn)行的過程中一直有其它的讀取操作到達(dá),那么新的請(qǐng)求都會(huì)插入到LOW_PRIORITY寫入操作之前。
SELECT查詢的HIGH_PRIORITY(高優(yōu)先級(jí))關(guān)鍵字也類似。它允許SELECT插入正在等待的寫入操作之前,即使在正常情況下寫入操作的優(yōu)先級(jí)更高。另外一種影響是,高優(yōu)先級(jí)的SELECT在正常的SELECT語句之前執(zhí)行,因?yàn)檫@些語句會(huì)被寫入操作阻塞。
如果你希望所有支持LOW_PRIORITY選項(xiàng)的語句都默認(rèn)地按照低優(yōu)先級(jí)來處理,那么請(qǐng)使用--low-priority-updates選項(xiàng)來啟動(dòng)服務(wù)器
注意:以上說明是針對(duì)使用表鎖的存蓄引擎而言,比如myisam 和merge 等
- MySql帶OR關(guān)鍵字的多條件查詢語句
- Mysql帶And關(guān)鍵字的多條件查詢語句
- MySQL中使用case when 語句實(shí)現(xiàn)多條件查詢的方法
- MySQL左聯(lián)多表查詢where條件寫法示例
- mysql實(shí)現(xiàn)查詢數(shù)據(jù)并根據(jù)條件更新到另一張表的方法示例
- MySQL查詢條件中in會(huì)用到索引嗎
- MySQL查詢條件中放置on和where的區(qū)別分析
- MySQL查詢條件常見用法詳解
- 詳解Mysql查詢條件中字符串尾部有空格也能匹配上的問題
- mysql條件查詢and or使用方法及優(yōu)先級(jí)實(shí)例分析
相關(guān)文章
Mysql復(fù)制表三種實(shí)現(xiàn)方法及grant解析
這篇文章主要介紹了Mysql復(fù)制表三種實(shí)現(xiàn)方法及grant解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09master and slave have equal MySQL server UUIDs 解決方法
使用rsync配置了大量mysql,省去了大量編譯和配置的時(shí)間,隨逐個(gè)修改master和slave服務(wù)器的my.cnf,后,發(fā)現(xiàn)數(shù)據(jù)不能同步2013-07-07MySql中的Full?Text?Search全文索引優(yōu)化
這篇文章主要為大家介紹了MySql中的Full?Text?Search全文索引優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05mysql 發(fā)生系統(tǒng)錯(cuò)誤1067的解決方法
今天要把WEB項(xiàng)目打包成EXE,可是在數(shù)據(jù)庫上卡住了。在啟動(dòng)數(shù)據(jù)庫服務(wù)的時(shí)候發(fā)生系統(tǒng)錯(cuò)誤 1067。2009-09-09MySQL性能監(jiān)控軟件Nagios的安裝及配置教程
這篇文章主要介紹了MySQL性能監(jiān)控軟件Nagios的安裝及配置教程,這里以CentOS操作系統(tǒng)為環(huán)境進(jìn)行演示,需要的朋友可以參考下2015-12-12MySQL遞歸查找樹形結(jié)構(gòu)(這個(gè)方法太實(shí)用了!)
對(duì)于數(shù)據(jù)庫中的樹形結(jié)構(gòu)數(shù)據(jù),如部門表,有時(shí)候,我們需要知道某部門的所有下屬部分或者某部分的所有上級(jí)部門,這時(shí)候就需要用到mysql的遞歸查詢,下面這篇文章主要給大家介紹了關(guān)于MySQL遞歸查找樹形結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2022-11-11