婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL查詢重寫插件的使用

MySQL查詢重寫插件的使用

熱門標(biāo)簽:日照旅游地圖標(biāo)注 申請外呼電話線路 湖南人工外呼系統(tǒng)多少錢 石家莊電商外呼系統(tǒng) 南通自動外呼系統(tǒng)軟件 廣東人工電話機(jī)器人 信陽穩(wěn)定外呼系統(tǒng)運(yùn)營商 百度地圖圖標(biāo)標(biāo)注中心 芒果電話機(jī)器人自動化

查詢重寫插件

從MySQL 5.7.6開始,MySQL Server支持查詢重寫插件,可以在服務(wù)器執(zhí)行之前檢查并可能修改服務(wù)器接收的語句。

以下是官方文檔介紹:

  預(yù)解析重寫插件具有以下特點(diǎn):

1.該插件允許在服務(wù)器處理之前重寫到達(dá)服務(wù)器的SQL語句。

2.該插件接收一個語句字符串,并可能返回一個不同的字符串。

后解析查詢重寫插件具有以下特征:

  1.該插件支持基于解析樹的語句重寫。

  2.服務(wù)器解析每個語句并將其解析樹傳遞給插件,插件可以遍歷樹。插件可以將原始樹返回到服務(wù)器以進(jìn)行進(jìn)一步處理,或者構(gòu)造不同的樹并返回該樹。

通俗來講,是指該插件支持兩種重寫方式,一種是在語法解析之前,直接修改SQL字符串,一種是在語法解析之后,通過操控語法解析樹來進(jìn)行重寫。這個特性還是非常有用的,例如錯誤的上線了某個SQL,但由于無法走到索引導(dǎo)致全庫查詢; 或者你可能使用某個第三方的已編譯好的軟件,但SQL可能執(zhí)行錯誤,你又無法直接修改應(yīng)用,這個特性將會非常有用,還可以去編寫符合用戶要求的插件。

安裝或卸載

最簡單的安裝過程如下:

shell> mysql -u root -p  install_rewriter.sql Enter password: (enter root password here)

可以發(fā)現(xiàn),在數(shù)據(jù)庫中多增加了一個庫query_rewrite,查看該數(shù)據(jù)庫:

查看插件當(dāng)前是否安裝:

實(shí)踐操作

例如為如下語句強(qiáng)制使用主鍵查詢:

SELECT DBA_no, name from DBA_inf where DBA_no = ?

改寫成:

SELECT DBA_no, name from DBA_inf force index(primary) where DBA_no = ?

要為Rewriter插件添加規(guī)則,具體步驟分為兩步:

1.向rewrite_rules表中添加相應(yīng)的規(guī)則;

2.調(diào)用flush_rewrite_rules()存儲過程以將表中的規(guī)則加載到插件中。

以下示例創(chuàng)建一個簡單規(guī)則來匹配選擇單個文字值的語句,執(zhí)行的操作:

insert into query_rewrite.rewrite_rules(pattern, replacement, pattern_database) values ("SELECT DBA_no, name from DBA_inf where DBA_no = ?","SELECT DBA_no, name from DBA_inf force index(primary) where DBA_no = ?","DBAs");

查詢剛剛插入的規(guī)則:

輸出的規(guī)則每一列的內(nèi)容如下:

id:

規(guī)則ID。此列是表主鍵。可以使用該ID唯一標(biāo)識任何規(guī)則。

pattern:

指示規(guī)則匹配的語句模式的模板,使用?表示匹配的數(shù)據(jù)值。

pattern_database:

該數(shù)據(jù)庫用于匹配語句中的非限定表名。如果相應(yīng)的數(shù)據(jù)庫和表名相同,則語句中的限定表名與模式中的限定名匹配;當(dāng)默認(rèn)數(shù)據(jù)庫pattern_database與表名相同且語句名相同時,語句中的非限定表名才匹配模式中的非限定名稱 。

replacement:

指示如何重寫與pattern列值匹配的語句的模板。使用 ?表示匹配的數(shù)據(jù)值,?是參數(shù)標(biāo)記,實(shí)際語句中可以替換。

enabled:

規(guī)則是否已啟用。加載操作(通過調(diào)用flush_rewrite_rules() 存儲過程執(zhí)行)Rewriter僅在此列加載時才將表中的規(guī)則加載到 內(nèi)存緩存中YES。此列可以在不刪除規(guī)則的情況下停用規(guī)則:將列設(shè)置為除YES表之外的值 ,然后將表重新加載到插件中。

message:

該插件使用此列與用戶進(jìn)行通信。如果將規(guī)則表加載到內(nèi)存中時沒有發(fā)生錯誤,則插件會將message 列設(shè)置為NULL。非NULL值表示錯誤,列內(nèi)容是錯誤消息。在這些情況下可能會發(fā)生錯誤:1.模式或替換是一個產(chǎn)生語法錯誤的錯誤SQL語句。2.替換包含比模式更多的參數(shù)標(biāo)記。如果發(fā)生加載錯誤,插件還會將 Rewriter_reload_error狀態(tài)變量設(shè)置為ON。

pattern_digest:

此列用于調(diào)試和診斷。如果在將規(guī)則表加載到內(nèi)存中時該列存在,則插件會使用模式摘要更新它。此列可幫助確定某些語句無法重寫的原因。

normalized_pattern

此列用于調(diào)試和診斷。如果在將規(guī)則表加載到內(nèi)存中時該列存在,則插件會使用模式的規(guī)范化形式對其進(jìn)行更新。如果您嘗試確定某些語句無法重寫的原因,則此列可能很有用。

重寫器查詢重寫插件過程

將規(guī)則添加到 rewrite_rules表中不足以使Rewriter插件使用該規(guī)則。還必須調(diào)用flush_rewrite_rules()以將表內(nèi)容加載到插件內(nèi)存緩存中:

Rewriter插件操作使用存儲過程將規(guī)則表加載到其內(nèi)存緩存中,在正常操作下,用戶僅調(diào)用flush_rewrite_rules()從而將rewrite_rules表的內(nèi)容加載到Rewriter內(nèi)存高速緩存中。加載表后,它還會清除查詢緩存。

當(dāng)修改規(guī)則表后,需要重新調(diào)用此過程以使插件從新表內(nèi)容更新其緩存:

使用重寫插件中定義的語句模式查詢相應(yīng)記錄:

SELECT DBA_no, name from DBA_inf where DBA_no =8;

通過使用explain語句查看,當(dāng)前SQL已經(jīng)使用了索引

重寫插件操作信息

該Rewriter插件通過幾個狀態(tài)變量提供有關(guān)其操作的信息:

有關(guān)這些變量的說明:

  • Rewriter_number_loaded_rules:成功從rewrite_rules表中加載到內(nèi)存中以供Rewriter 插件使用的重寫插件重寫規(guī)則的數(shù)量。
  • Rewriter_number_reloads:rewrite_rules被加載到Rewriter插件緩存中的次數(shù)。
  • Rewriter_number_rewritten_queries:Rewriter查詢重寫插件自加載以來重寫的查詢數(shù) 。
  • Rewriter_reload_error:是否在最近將rewrite_rules表加載到Rewriter 插件使用的內(nèi)存高速緩存中時發(fā)生錯誤 。如果值為OFF,則不會發(fā)生錯誤。如果值為,則ON發(fā)生錯誤;檢查表的message列rewriter_rules是否有錯誤消息。

通過調(diào)用flush_rewrite_rules()存儲過程加載規(guī)則表時 ,如果某些規(guī)則發(fā)生錯誤,則該CALL 語句會產(chǎn)生錯誤,并且該插件會將 Rewriter_reload_error狀態(tài)變量設(shè)置為ON:

在這種情況下,請檢查rewrite_rules表中是否包含非NULL message列值的行,以查看存在的問題。

重寫器插件使用字符集

當(dāng)rewrite_rules表加載到Rewriter插件中時,插件使用character_set_client系統(tǒng)變量的當(dāng)前全局值來解釋語句 。如果character_set_client隨后更改全局 值,則必須重新加載規(guī)則表。

客戶端的會話character_set_client值必須 與加載規(guī)則表時的全局值相同,否則規(guī)則匹配將不適用于該客戶端。

以上就是MySQL查詢重寫插件的使用的詳細(xì)內(nèi)容,更多關(guān)于MySQL查詢重寫插件的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • zabbix通過percona插件監(jiān)控mysql的方法
  • Spring mvc整合mybatis(crud+分頁插件)操作mysql
  • MySql5.6使用validate password 插件加強(qiáng)密碼強(qiáng)度的安裝及使用方法
  • MySQL 密碼增強(qiáng)插件
  • MySQL中InnoDB的Memcached插件的使用教程
  • 詳解MySQL下InnoDB引擎中的Memcached插件
  • MySQL HandlerSocket插件安裝配置教程
  • 發(fā)款php蜘蛛統(tǒng)計插件只要有mysql就可用
  • 發(fā)款php蜘蛛統(tǒng)計插件只要有mysql就可用
  • MySQL連接控制插件介紹

標(biāo)簽:合肥 呼和浩特 牡丹江 惠州 天津 阿里 沈陽 公主嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL查詢重寫插件的使用》,本文關(guān)鍵詞  MySQL,查詢,重寫,插件,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL查詢重寫插件的使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL查詢重寫插件的使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产资源精品在线观看| 国产精品自在欧美一区| 欧美人狂配大交3d怪物一区| 久久电影国产免费久久电影| 亚洲免费毛片网站| 欧美激情一二三区| 日韩欧美一区二区免费| 欧美中文字幕一区二区三区 | 在线亚洲人成电影网站色www| 黑人巨大精品欧美黑白配亚洲| 亚洲精品日日夜夜| 中文字幕高清一区| 久久久电影一区二区三区| 欧美一区二区三区白人| 欧美精品三级日韩久久| 在线不卡的av| 日韩欧美一区二区免费| 日韩欧美一级片| 欧美理论电影在线| 7777精品伊人久久久大香线蕉最新版 | 91在线播放网址| 成人av网站免费| 成人黄色软件下载| 成人午夜伦理影院| 99免费精品在线观看| 99精品国产热久久91蜜凸| 不卡的av网站| 99亚偷拍自图区亚洲| 91免费观看在线| 91视频观看视频| 欧美性感一类影片在线播放| 欧美性生活影院| 日韩亚洲欧美中文三级| 精品国产一区二区三区久久久蜜月 | 91在线观看成人| 欧美亚洲国产一区二区三区va| 欧美日韩国产综合一区二区| 日韩精品一区二区在线观看| 久久新电视剧免费观看| 亚洲欧洲一区二区在线播放| 亚洲精品乱码久久久久久黑人| 亚洲国产视频直播| 国内精品嫩模私拍在线| 91视频.com| 日韩亚洲欧美成人一区| 中文字幕va一区二区三区| 亚洲自拍偷拍综合| 美女一区二区久久| 国产91丝袜在线18| 欧美军同video69gay| 久久久久久久网| 亚洲欧美日韩国产综合在线| 日本美女一区二区| 成人黄色在线网站| 欧美一级一区二区| 国产精品久久久久四虎| 日韩国产欧美视频| 99久久免费国产| 欧美电影免费观看高清完整版在| 日韩一区欧美一区| 韩国毛片一区二区三区| 91久久奴性调教| 久久久久久一级片| 亚洲国产sm捆绑调教视频 | 久久精品国产网站| 在线一区二区视频| 久久精品一区二区| 日本不卡高清视频| 91黄色小视频| 国产精品久久久久影院亚瑟 | 色婷婷综合久久久久中文| 欧美成人午夜电影| 亚洲影视资源网| 成人免费视频网站在线观看| 日韩午夜激情av| 香蕉久久一区二区不卡无毒影院| 成人夜色视频网站在线观看| 日韩欧美一级二级| 亚洲午夜三级在线| 在线观看一区二区视频| 国产精品美女久久久久高潮| 精品中文字幕一区二区小辣椒| 欧美色视频在线观看| 自拍偷自拍亚洲精品播放| 国产精品1024久久| 日韩欧美国产1| 亚洲成av人**亚洲成av**| 色94色欧美sute亚洲线路二| 国产精品久久久久久久久果冻传媒 | 最新高清无码专区| 懂色av中文字幕一区二区三区| 欧美sm极限捆绑bd| 丝袜诱惑亚洲看片| 欧美色男人天堂| 亚洲激情网站免费观看| 欧美亚洲禁片免费| 一区二区三区四区乱视频| 97久久超碰国产精品电影| 亚洲图片另类小说| 色视频成人在线观看免| 一区二区三区精品在线| 色网综合在线观看| 洋洋成人永久网站入口| 欧美日韩黄色影视| 日韩综合在线视频| 欧美电影免费观看高清完整版 | 国内精品视频一区二区三区八戒| 精品伦理精品一区| 国产精品一区二区在线看| 中文字幕免费观看一区| 97久久久精品综合88久久| 亚洲综合自拍偷拍| 欧美一区二区三区免费在线看| 日本成人在线不卡视频| 久久蜜桃av一区精品变态类天堂| 丰满少妇久久久久久久| 一区二区中文视频| 欧美日韩一区二区三区不卡| 九九精品一区二区| 亚洲欧美日韩人成在线播放| 欧美日韩国产精品成人| 精品一区二区成人精品| 国产精品不卡在线观看| 欧美在线一区二区| 久久91精品久久久久久秒播| 国产日本欧洲亚洲| 欧美色爱综合网| 国精产品一区一区三区mba桃花| 国产日韩欧美精品电影三级在线| 一本大道久久a久久精二百| 日本伊人色综合网| 日本一区二区高清| 欧美人体做爰大胆视频| 大美女一区二区三区| 午夜精品福利一区二区蜜股av| 久久色中文字幕| 欧美在线观看视频一区二区三区| 激情文学综合丁香| 亚洲午夜在线观看视频在线| 国产欧美视频在线观看| 91精品国产综合久久久久久| 99久久精品费精品国产一区二区| 免费看日韩精品| 亚洲女性喷水在线观看一区| www国产成人免费观看视频 深夜成人网| 99久久精品国产毛片| 精品一区二区三区久久| 伊人夜夜躁av伊人久久| 久久婷婷综合激情| 欧美一区二区三区成人| 欧美日免费三级在线| av在线不卡免费看| 韩国精品久久久| 日本成人在线网站| 亚洲成人你懂的| 亚洲精品中文字幕乱码三区| 久久久精品免费免费| 欧美成人aa大片| 欧美人成免费网站| 在线观看日韩精品| 91丨国产丨九色丨pron| 国产成人综合网| 国精产品一区一区三区mba桃花 | 国产精品久久久久影院老司| 久久综合一区二区| 日韩免费在线观看| 欧美一级日韩不卡播放免费| 欧美日韩精品一区二区天天拍小说| 国产a久久麻豆| 国产精品乡下勾搭老头1| 国产在线精品国自产拍免费| 激情亚洲综合在线| 国产高清无密码一区二区三区| 久久精品国产一区二区| 精品一区二区三区在线观看国产 | 国产亚洲欧美日韩日本| 精品国产麻豆免费人成网站| 欧美一卡二卡三卡| 日韩色视频在线观看| 精品国产精品网麻豆系列| 欧美成人一区二区三区| 26uuu亚洲| 久久伊人中文字幕| 久久久久久久性| 国产精品美女视频| 亚洲欧洲国产日韩| 一区二区国产视频| 三级不卡在线观看| 久久99蜜桃精品| 精品一区二区三区视频| 成熟亚洲日本毛茸茸凸凹| 日本91福利区| 免费三级欧美电影| 国产一区二区毛片| 高清不卡一区二区在线| 一本大道久久精品懂色aⅴ| 欧美人xxxx| 久久综合精品国产一区二区三区| 国产精品区一区二区三| 亚洲品质自拍视频|