激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MySql模糊查詢json關鍵字檢索方案示例

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

2022-01-17 18:01PHPer自談 Mysql

大家好,本篇文章主要講的是MySql模糊查詢json關鍵字檢索方案示例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下哦,方便下次瀏覽

前言

?最近在項目中遇到這樣一個需求:需要在數據表中檢索包含指定內容的結果集,該字段的數據類型為text,存儲的內容是json格式,具體表結構如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
create table `product` (
    `id` int(11) unsigned not null auto_increment comment 'id',
    `name` varchar(100) not null default '' comment '產品名稱' collate 'utf8mb4_general_ci',
    `price` decimal(10,2) unsigned not null default '0.00' comment '產品價格',
    `suit` text not null comment '適用門店 json格式保存門店id' collate 'utf8mb4_general_ci',
    `status` tinyint(3) not null default '0' comment '狀態 1-正常 0-刪除 2-下架',
    `create_date` datetime not null default current_timestamp comment '發布時間',
    `update_date` datetime not null default current_timestamp on update current_timestamp comment '修改時間',
    primary key (`id`) using btree
)
comment='產品表'
collate='utf8mb4_general_ci'
engine=innodb
auto_increment=1
;

表數據如下:

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

現需求:查找 suit->hotel 中包含10001的數據。

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

方案一:

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

方案二:

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

方案三:

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

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

?
1
2
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

總結

到此這篇關于mysql模糊查詢json關鍵字檢索方案示例的文章就介紹到這了,更多相關mysql json關鍵字檢索內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/zxw09332/article/details/121626111

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人在线视频播放 | 娇喘视频在线观看 | 天堂亚洲一区 | 九九热免费视频在线观看 | 国产成人小视频在线观看 | 一级黄色免费观看视频 | 羞羞网站在线观看入口免费 | 国产精品999在线观看 | 一区二区三区视频在线 | 欧美日韩精品一区二区三区蜜桃 | 国产精品成人一区二区三区电影毛片 | 欧美一级黄 | 久久精品小短片 | 欧美成人二区 | 亚洲精品在线观看网站 | 黑人一区| 国产91亚洲精品久久久 | 国产午夜精品久久久久久久蜜臀 | 久久精品在线免费观看 | 国产羞羞视频 | 在线免费视频a | 狼伊千合综网中文 | 九九热九九 | aaaaa国产欧美一区二区 | 日韩精品中文字幕在线观看 | 国产91九色 | 亚洲一区久久久 | 无遮挡一级毛片视频 | 久久精品伊人网 | 成人免费毛片明星色大师 | 蜜桃一本色道久久综合亚洲精品冫 | 精品在线视频播放 | 日本视频免费观看 | 免费在线观看毛片视频 | 伊人成人免费视频 | 特一级黄色毛片 | 午夜精品老牛av一区二区三区 | 久久精品日韩一区 | 欧美成人高清视频 | 偿还电影免费看 | 精品国产一区二区三区久久久 |