最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql模糊查詢結(jié)果取反問題

 更新時(shí)間:2023年09月01日 08:37:43   作者:qq_35327536  
這篇文章主要介紹了mysql模糊查詢結(jié)果取反問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql模糊查詢結(jié)果取反

問題描述

1、表結(jié)構(gòu):

 

2、只要包含3這種類型的都不能查詢。 

解決方式

1、模糊查詢出所有包含3這種類型的數(shù)據(jù),在使用not in這種方式:

SELECT * FROM system_account WHERE id NOT IN (SELECT id FROM system_account WHERE identity_type LIKE "%3%");

這種方式如果類型中有13、23這種帶3的類型就需要修改模糊條件。

2、使用正則匹配方式:

SELECT * FROM `system_account` WHERE identity_type REGEXP "^([1,2,4,5,6,7,8,9]{1}\,?)*[1,2,4,5,6,7,8,9]{1}$";

這種方式只要在這種中排除3這種類型就可以了,但是沒添加一種類型就需要修改一次sql語句。

同事問的這個(gè)問題,第一反應(yīng)是模糊查詢?nèi)》?,所以感覺很有意思就記錄一下。

最終這種方案也沒有用上,同事把需求弄反了。

模糊查詢可以使用 not like 這種查詢方式 平時(shí)從來沒有用過也沒看見過 所以沒想到這種方法

SELECT * FROM admin_produce_order WHERE product_code LIKE 'CP211%' AND po_come_factory NOT LIKE "%羅西%"

mysql模糊匹配后匹配優(yōu)化

線上存在業(yè)務(wù)代碼,需要模糊匹配且進(jìn)行后匹配

select * from test where id like "%1231"

優(yōu)化過程

mysql的后模糊匹配是不走索引的,所以數(shù)量級(jí)增大后,sql執(zhí)行速度會(huì)越來越慢,但是業(yè)務(wù)一定要保留該功能,且頻繁調(diào)用;

處理方案:

1. 使用表中已存在的其他列索引

如果查詢的表存在其他列索引,可以直接使用模糊匹配查詢完整的主鍵信息,再進(jìn)行業(yè)務(wù)查詢

select id from test where id like "%1231"
select * from test where id = #{id}

該方案簡單迅速,查詢索引級(jí)別一般可以達(dá)到index

2. 使用緩存記錄模糊匹配列所有數(shù)據(jù)

先進(jìn)行緩存記錄所有模糊列數(shù)據(jù),再經(jīng)過緩存進(jìn)行數(shù)據(jù)匹配,最后進(jìn)行業(yè)務(wù)查詢。

該方案需要保證緩存可靠,并且及時(shí)更新

3. 數(shù)據(jù)庫增加相反列,并設(shè)置對(duì)應(yīng)索引

例如,原模糊列為id,值為123,相反列起名id_reverse,值則為321

當(dāng)進(jìn)行模糊匹配時(shí),先對(duì)傳入?yún)?shù)進(jìn)行卻反,123取反為321,最后用相反列進(jìn)行匹配

select * from test where id_reverse like "321%"

如果需要保證該條件同時(shí)滿足前匹配和后匹配

select * from test where id like "123%" or id_reverse like "321%"

該方案需要保證相反列和模糊列數(shù)據(jù)保持相反,并同步更新,索引級(jí)別可達(dá)range

type索引類型:

ststem > const > eq_ref > ref > range > index > all

優(yōu)化級(jí)別從左往右遞減,沒有索引的一般為’all’,需要對(duì)type進(jìn)行優(yōu)化前提是有索引。

其中’system’和’const’只是理想型,實(shí)際只能達(dá)到’ref’和’range’。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • PHP mysqli擴(kuò)展庫 預(yù)處理技術(shù)的使用分析

    PHP mysqli擴(kuò)展庫 預(yù)處理技術(shù)的使用分析

    本篇文章,介紹了PHP mysqli擴(kuò)展庫 預(yù)處理技術(shù)的使用分析。需要的朋友參考下
    2013-05-05
  • MySQL JSON類型字段的簡單使用

    MySQL JSON類型字段的簡單使用

    JSON作為現(xiàn)在最為流行的數(shù)據(jù)交互形式,在5.7版本開始新增JSON數(shù)據(jù)類型,本文就來介紹一下MySQL JSON類型字段的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-08-08
  • 詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理

    詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理

    這篇文章主要介紹了詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-01-01
  • mysql數(shù)據(jù)庫之count()函數(shù)和sum()函數(shù)用法及區(qū)別說明

    mysql數(shù)據(jù)庫之count()函數(shù)和sum()函數(shù)用法及區(qū)別說明

    這篇文章主要介紹了mysql數(shù)據(jù)庫之count()函數(shù)和sum()函數(shù)用法及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用

    本文主要介紹了mysql聚集索引、輔助索引、覆蓋索引、聯(lián)合索引的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Mysql5.7服務(wù)無法啟動(dòng)的圖文解決教程

    Mysql5.7服務(wù)無法啟動(dòng)的圖文解決教程

    這篇文章主要介紹了Mysql5.7服務(wù)無法啟動(dòng)問題,解決辦法非常簡單,需要的的朋友參考下
    2017-02-02
  • MySQL9.0更新了哪些特性

    MySQL9.0更新了哪些特性

    MySQL 9.0作為MySQL數(shù)據(jù)庫管理系統(tǒng)的一個(gè)重要更新版本,帶來了多項(xiàng)新特性和改進(jìn),下面我們就一起來看看更新了哪些特性,感興趣的可以了解一下
    2024-08-08
  • MySQL中連接池參數(shù)優(yōu)化與性能提升指南

    MySQL中連接池參數(shù)優(yōu)化與性能提升指南

    這篇文章主要深入探討了MySQL連接池中的關(guān)鍵參數(shù),分析參數(shù)配置不合理可能導(dǎo)致的性能問題,并分享實(shí)用的優(yōu)化方法,希望可以幫助開發(fā)者提升系統(tǒng)性能
    2025-07-07
  • 圖文介紹mysql中:=和=的區(qū)別

    圖文介紹mysql中:=和=的區(qū)別

    這篇文章主要給大家介紹了關(guān)于mysql中:=和=區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 查詢MySQL中的樹型表兩種方法

    查詢MySQL中的樹型表兩種方法

    在 MySQL中查詢樹型表(即具有層級(jí)結(jié)構(gòu)的表)可以使用遞歸查詢或者使用嵌套集模型,下面介紹兩種方法查詢MySQL中的樹型表,感興趣的朋友一起看看吧
    2024-01-01

最新評(píng)論

天门市| 临西县| 凤台县| 普安县| 松潘县| 福海县| 安福县| 台东市| 晋中市| 都昌县| 新建县| 南汇区| 昌图县| 青岛市| 漯河市| 汝城县| 西平县| 嵊泗县| 泾川县| 凭祥市| 韶山市| 虞城县| 休宁县| 永新县| 金溪县| 通渭县| 通城县| 龙州县| 大方县| 都昌县| 延津县| 鹿泉市| 怀远县| 铁力市| 凯里市| 红河县| 靖宇县| 县级市| 嘉兴市| 防城港市| 兰州市|