MySQL 8.4 版本注意事項
MySQL 支援查詢重寫外掛程式,這些外掛程式可以檢查伺服器收到的 SQL 陳述式,並在伺服器執行之前可能修改這些陳述式。請參閱查詢重寫外掛程式。
MySQL 發行版本包含一個名為 Rewriter
的後剖析查詢重寫外掛程式,以及用於安裝外掛程式及其相關元素的腳本。這些元素共同運作以提供陳述式重寫功能
名為
Rewriter
的伺服器端外掛程式會檢查陳述式,並可能會根據其記憶體中的重寫規則快取來重寫這些陳述式。這些陳述式可進行重寫:
SELECT
、INSERT
、REPLACE
、UPDATE
和DELETE
。獨立陳述式和預備陳述式可進行重寫。在檢視定義或儲存程式內發生的陳述式不可進行重寫。
Rewriter
外掛程式使用名為query_rewrite
的資料庫,其中包含一個名為rewrite_rules
的資料表。該資料表為外掛程式用來決定是否重寫陳述式的規則提供持續性儲存。使用者藉由修改儲存在此資料表中的規則集與外掛程式通訊。外掛程式藉由設定資料表列的message
欄與使用者通訊。query_rewrite
資料庫包含一個名為flush_rewrite_rules()
的儲存程序,它會將規則資料表的內容載入到外掛程式中。一個名為
load_rewrite_rules()
的可載入函式由flush_rewrite_rules()
儲存程序使用。Rewriter
外掛程式公開系統變數,這些變數可啟用外掛程式組態,並提供執行階段作業資訊的狀態變數。此外掛程式還支援一個權限 (SKIP_QUERY_REWRITE
),可保護指定使用者的查詢不被重寫。
以下章節說明如何安裝和使用 Rewriter
外掛程式,並提供其相關元素的參考資訊。