MySQL 9.0 發行說明
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
外掛程式,並提供其相關元素的參考資訊。