文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  Rewriter 查詢重寫外掛程式

7.6.4 Rewriter 查詢重寫外掛程式

MySQL 支援查詢重寫外掛程式,這些外掛程式可以檢查伺服器接收到的 SQL 陳述式,並在伺服器執行之前可能修改這些陳述式。請參閱 查詢重寫外掛程式

MySQL 發行版本包含一個名為 Rewriter 的後剖析查詢重寫外掛程式,以及用於安裝外掛程式及其相關元素的指令碼。這些元素一起工作以提供陳述式重寫功能

  • 一個名為 Rewriter 的伺服器端外掛程式會檢查陳述式,並可能根據其在記憶體中的重寫規則快取來重寫它們。

  • 下列陳述式會受到重寫:SELECTINSERTREPLACEUPDATEDELETE

    獨立陳述式和預備陳述式會受到重寫。發生在檢視定義或儲存程式中的陳述式不會受到重寫。

  • Rewriter 外掛程式使用一個名為 query_rewrite 的資料庫,其中包含一個名為 rewrite_rules 的表格。該表格為外掛程式用來決定是否重寫陳述式的規則提供持久儲存。使用者透過修改儲存在此表格中的規則集來與外掛程式通訊。外掛程式透過設定表格列的 message 欄位來與使用者通訊。

  • query_rewrite 資料庫包含一個名為 flush_rewrite_rules() 的儲存程序,它會將規則表格的內容載入外掛程式。

  • 一個名為 load_rewrite_rules() 的可載入函式由 flush_rewrite_rules() 儲存程序使用。

  • Rewriter 外掛程式會公開系統變數,這些變數可啟用外掛程式組態,以及提供執行階段操作資訊的狀態變數。此外掛程式還支援一個權限 (SKIP_QUERY_REWRITE),以保護特定使用者的查詢不被重寫。

以下章節說明如何安裝和使用 Rewriter 外掛程式,並提供其相關元素的參考資訊。