首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL入門系列:排程與鎖定機制 - 讀寫優先權與 DELAYED 插入

     編輯:MySQL 資料庫相關知識

預設排程策略

MySQL 以表鎖實現排程:寫入請求依到達順序處理,且寫入優先權高於讀取。讀取需共享鎖(可同時多讀),寫入需獨佔鎖(阻擋其他讀寫)。

調整優先權的查詢修飾符

LOW_PRIORITY (DELETE/INSERT/LOAD DATA/REPLACE/UPDATE)
降低寫入優先權,讓等待中的讀取請求優先執行。理論上可能導致寫入無限期延遲(持續有新讀取請求到達時)。
HIGH_PRIORITY (SELECT)
提升讀取優先權,插隊至等待中的一般寫入操作之前。
DELAYED (INSERT/REPLACE)
伺服器將資料列放入佇列並立即回應客戶端,讓客戶端繼續執行。有讀取時佇列暫停,無讀取時批次寫入。注意:語法錯誤會即時回報,但 AUTO_INCREMENT 值與唯一索引重複計數在實際寫入前無法取得;伺服器異常終止(kill -9)會導致佇列資料遺失,正常 TERM 則會先寫入再退出。

版本支援對照表

文中附圖列出各修飾符在不同 MySQL 版本的支援情況,請依實際版本確認可用功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved