在這裡簡單介紹一下:
此功能在MySQL 5.7.6以後官方引入。 ,可以在Server端收到SQL後,進行改寫執行。
•只針對標準的SELECT語句工作,不能對視圖定義及儲存過程中SELECT語句改寫
•改寫規則記錄在記憶體中,實際對應:query_rewrite庫下的rewrite_rules這個表
riterite預存程序: flush_rewrite_rules() 及DML語句來載入更改規則
我需要補充一下:
在該PPT中想講了一個利用的去除。這裡有一個要求,就是第一部查詢,需要是主鍵或是唯一索引。看圖:
順便說一下這塊的執行邏輯: 對於5.6以後,有子查詢的相當於後面走物化視圖,在查詢邏輯中,是判斷IN前面的選項是不是在後面(所以不關心後面是不是重複,只要求有沒有),這樣如果前是一個主鍵或是唯一索引,就有去重複的作用,減少Group by類別操作。 一個小的Tips。
以上是MySQL Query Rewrite Plugin使用的內容,更多相關內容請追蹤PHP中文網(www.php.cn)!