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

MySql模糊查詢json關鍵字檢索方案示例

 更新時間:2021年12月01日 15:32:01   作者:PHPer自談  
大家好,本篇文章主要講的是MySql模糊查詢json關鍵字檢索方案示例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下哦,方便下次瀏覽

前言

?最近在項目中遇到這樣一個需求:需要在數(shù)據(jù)表中檢索包含指定內(nèi)容的結(jié)果集,該字段的數(shù)據(jù)類型為text,存儲的內(nèi)容是json格式,具體表結(jié)構(gòu)如下:

CREATE TABLE `product` (
	`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
	`name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '產(chǎn)品名稱' COLLATE 'utf8mb4_general_ci',
	`price` DECIMAL(10,2) UNSIGNED NOT NULL DEFAULT '0.00' COMMENT '產(chǎn)品價格',
	`suit` TEXT NOT NULL COMMENT '適用門店 json格式保存門店id' COLLATE 'utf8mb4_general_ci',
	`status` TINYINT(3) NOT NULL DEFAULT '0' COMMENT '狀態(tài) 1-正常 0-刪除 2-下架',
	`create_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '發(fā)布時間',
	`update_date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間',
	PRIMARY KEY (`id`) USING BTREE
)
COMMENT='產(chǎn)品表'
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1
;

表數(shù)據(jù)如下:

?

現(xiàn)需求:查找 suit->hotel 中包含10001的數(shù)據(jù)。

通過谷歌百度查找,大致找到以下幾種方案:

方案一:

select * from product where suit like '%"10001"%';
#like方式不能使用索引,性能不佳,且準確性不足

方案二:

select * from product where suit LOCATE('"10001"', 'suit') > 0;
# LOCATE方式和like存在相同問題

方案三:

select * from product where suit != '' and json_contains('suit'->'$.hotel', '"10001"');
#以MySQL內(nèi)置json函數(shù)查找,需要MySQL5.7以上版本才能支持,準確性較高,不能使用全文索引

方案四(最終采用方案):

select * from product where MATCH(suit) AGAINST('+"10001"' IN BOOLEAN MODE);
#可使用全文索引,MySQL關鍵字默認限制最少4個字符,可在mysql.ini中修改 ft_min_word_len=2,重啟后生效

MATCH() AGAINST()?更多使用方法可查看MySQL參考手冊:

https://dev.mysql.com/doc/refman/5.6/ja/fulltext-boolean.html

總結(jié)

到此這篇關于MySql模糊查詢json關鍵字檢索方案示例的文章就介紹到這了,更多相關MySql json關鍵字檢索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 從 MySQL源碼分析網(wǎng)絡IO模型

    從 MySQL源碼分析網(wǎng)絡IO模型

    這篇文章主要為大家介紹了從 MySQL源碼分析網(wǎng)絡IO模型,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Mysql使用sum()函數(shù)返回null的問題詳解

    Mysql使用sum()函數(shù)返回null的問題詳解

    MySQL的Sum()函數(shù)是用來找出所有記錄的一個字段的總和,下面這篇文章主要給大家介紹了關于Mysql使用sum()函數(shù)返回null的問題,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • MySQL幾種更新操作的案例分析

    MySQL幾種更新操作的案例分析

    本文將通過一個用戶賬戶金額更新的案例分析幾種數(shù)據(jù)更新的操作的優(yōu)劣,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • MySQL約束類型及舉例介紹

    MySQL約束類型及舉例介紹

    今天小編就為大家分享一篇關于MySQL約束類型及介紹的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 淺談MySQL的B樹索引與索引優(yōu)化小結(jié)

    淺談MySQL的B樹索引與索引優(yōu)化小結(jié)

    這篇文章主要介紹了淺談MySQL的B樹索引與索引優(yōu)化小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • MySQL 復制表的方法

    MySQL 復制表的方法

    這篇文章主要介紹了MySQL 復制表的方法,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • Mysql模糊查詢優(yōu)化方法及測試詳細講解

    Mysql模糊查詢優(yōu)化方法及測試詳細講解

    這篇文章主要介紹了Mysql模糊查詢優(yōu)化方法及測試,在MySQL中支持模糊匹配的方法有很多,且各有各的優(yōu)點,感興趣想要詳細了解可以參考下文
    2023-05-05
  • windows下如何解決mysql secure_file_priv null問題

    windows下如何解決mysql secure_file_priv null問題

    這篇文章主要介紹了windows下如何解決mysql secure_file_priv null問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • B-樹的刪除過程介紹

    B-樹的刪除過程介紹

    今天小編就為大家分享一篇關于B-樹的刪除過程介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Linux(CentOS7)安裝MySQL8全過程

    Linux(CentOS7)安裝MySQL8全過程

    這篇文章主要介紹了Linux(CentOS7)安裝MySQL8全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

行唐县| 通河县| 呈贡县| 乐业县| 大名县| 西城区| 湖口县| 南康市| 闵行区| 五台县| 丽水市| 凤阳县| 厦门市| 商水县| 广德县| 北辰区| 石河子市| 东乡县| 汤原县| 拜泉县| 平利县| 淳化县| 华宁县| 霍山县| 玛沁县| 昌宁县| 马鞍山市| 阳高县| 雅江县| 宁波市| 嘉义市| 岑溪市| 崇明县| 横山县| 托克逊县| 吉水县| 屏东县| 乐至县| 兴化市| 通江县| 皮山县|