為了討論方便,定義兩類客戶端程序:
SELECT 查詢的客戶端DELETE、INSERT、REPLACE 或 UPDATE 修改操作的客戶端調度策略透過表鎖實現。客戶端存取表前必須先獲得鎖,可手動用 LOCK TABLES,通常由伺服器鎖管理器自動處理。處理完畢釋放鎖,手動用 UNLOCK TABLES,伺服器也會自動釋放。
MySQL 提供三種修飾符調整調度優先權:
適用於 DELETE、INSERT、LOAD DATA、REPLACE、UPDATE。
行為:寫入不再優先於讀取。若寫入等待時有新讀取請求到達,新讀取搶先執行。只有無讀取請求時寫入才執行。理論上 LOW_PRIORITY 寫入可能永遠被阻塞(持續有讀取進來)。
適用於 SELECT。
行為:使該查詢插隊至正在等待的正常優先權寫入操作之前執行。
適用於 INSERT 和 REPLACE。
行為:

當其他客戶端執行冗長 SELECT 且不想等待插入完成時極具價值。客戶端能更快繼續執行,但需注意效能差異:若語法錯誤會立即回報錯誤。