电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

瀏覽:8日期:2023-10-16 12:51:29
查詢背景

有一個表tmp_test_course大概有10萬條記錄,然后有個json字段叫outline,存了一對多關系(保存了多個編碼,例如jy1577683381775)

我們需要在這10萬條數據中檢索特定類型的數據,目標總數據量:2931條

SELECT COUNT(*) FROM tmp_test_course WHERE `type`=5 AND del=2 AND is_leaf=1

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

我們在限定為上面類型的同時,還得包含下面任意一個編碼(也就是OR查詢)

jy1577683381775jy1577683380808jy1577683379178jy1577683378676jy1577683377617jy1577683376672jy1577683375903jy1578385720787jy1499916986208jy1499917112460jy1499917093400jy1499917335579jy1499917334770jy1499917333339jy1499917331557jy1499917330833jy1499917329615jy1499917328496jy1576922006950jy1499916993558jy1499916992308jy1499917003454jy1499917002952

下面分別列出4種方式查詢outline字段,給出相應的查詢時間和掃描行數

一、like查詢

耗時248毫秒

SELECT * FROM tmp_test_course WHERE `type`=5 AND del=2 AND is_leaf=1 AND (outline like ’%jy1577683381775%’OR outline like ’%jy1577683380808%’OR outline like ’%jy1577683379178%’OR outline like ’%jy1577683378676%’OR outline like ’%jy1577683377617%’OR outline like ’%jy1577683376672%’OR outline like ’%jy1577683375903%’OR outline like ’%jy1578385720787%’OR outline like ’%jy1499916986208%’OR outline like ’%jy1499917112460%’OR outline like ’%jy1499917093400%’OR outline like ’%jy1499917335579%’OR outline like ’%jy1499917334770%’OR outline like ’%jy1499917333339%’OR outline like ’%jy1499917331557%’OR outline like ’%jy1499917330833%’OR outline like ’%jy1499917329615%’OR outline like ’%jy1499917328496%’OR outline like ’%jy1576922006950%’OR outline like ’%jy1499916993558%’OR outline like ’%jy1499916992308%’OR outline like ’%jy1499917003454%’OR outline like ’%jy1499917002952%’)

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

EXPLAIN分析結果如下,全表掃描

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

二、json函數查詢

json官方函數

耗時196毫秒,速度稍微快了一點

SELECT * FROM tmp_test_course WHERE `type`=5 AND del=2 AND is_leaf=1AND (JSON_SEARCH(outline, ’one’, ’jy1577683381775’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1577683380808’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1577683379178’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1577683378676’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1577683377617’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1577683376672’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1577683375903’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1578385720787’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499916986208’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917112460’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917093400’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917335579’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917334770’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917333339’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917331557’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917330833’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917329615’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917328496’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1576922006950’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499916993558’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499916992308’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917003454’) IS NOT NULL ORJSON_SEARCH(outline, ’one’, ’jy1499917002952’) IS NOT NULL )

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

EXPLAIN分析結果如下,還是全表掃描

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

三、聯合索引查詢

下面為該表建立一個聯合索引(本來想建一個type-del-is_leaf-outline的索引,但是outline字段太長限制,所以只加type-del-is_leaf的聯合索引

ALTER TABLE tmp_test_course ADD KEY `type-del-is_leaf` (`type`,`del`,`is_leaf`)

加入索引后再執行like和json查詢,明顯提速。like執行用了136毫秒,json查詢用了82.6毫秒,由此可見針對json類型使用json函數查詢比like快

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

EXPLAIN分析結果如下,兩者查詢掃描的行數都限定在了2931行

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

四、全文索引查詢

因為全文索引只支持CHAR、VARCHAR和TEXT,我們需要把JSON字段定義改一下

ALTER TABLE tmp_test_course MODIFY `outline` VARCHAR(1024) NOT NULL DEFAULT ’[]’

添加全文索引

ALTER TABLE tmp_test_course ADD FULLTEXT INDEX outline (outline);

現在再來用全文索引進行檢索

SELECT * FROM tmp_test_course WHERE `type`=5 AND del=2 AND is_leaf=1AND MATCH(outline) AGAINST (’jy1577683381775 jy1577683380808 jy1577683379178 jy1577683378676 jy1577683377617 jy1577683376672 jy1577683375903 jy1578385720787 jy1499916986208 jy1499917112460 jy1499917093400 jy1499917335579 jy1499917334770 jy1499917333339 jy1499917331557 jy1499917330833 jy1499917329615 jy1499917328496 jy1576922006950 jy1499916993558 jy1499916992308 jy1499917003454 jy1499917002952’)

耗時11.6毫秒,速度提升極其明顯,可見全文索引的牛逼。

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

EXPLAIN分析結果如下,顯示只掃描了一行

MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快

結論

以下是4種情況的執行結果

全文索引: 11.6ms聯合索引:82.6ms(json)、136ms(like)json函數查詢:196mslike查詢: 248ms

結論:全文索引 > 聯合索引 > json函數查詢 > like查詢

數據量越大,全文索引速度越明顯,就10萬的量,查詢速度大概比直接查詢快了20倍左右,如果是百萬或千萬級別的表,提升差距會更加大,所以有條件還是老老實實用全文索引吧

到此這篇關于MySQL全文索引、聯合索引、like查詢、json查詢速度哪個快的文章就介紹到這了,更多相關mysql 全文索引 聯合索引 like查詢 json查詢內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | 营养师网,营养师考试时间,报名入口—网站首页 | 范秘书_懂你的范文小秘书| 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 重庆小面培训_重庆小面技术培训学习班哪家好【终身免费复学】 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 【官网】博莱特空压机,永磁变频空压机,螺杆空压机-欧能优 | 挖掘机挖斗和铲斗生产厂家选择徐州崛起机械制造有限公司 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 全自动翻转振荡器-浸出式水平振荡器厂家-土壤干燥箱价格-常州普天仪器 | 山东成考网-山东成人高考网 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | YAGEO国巨电容|贴片电阻|电容价格|三星代理商-深圳市巨优电子有限公司 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 膜片万向弹性联轴器-冲压铸造模具「沧州昌运模具」 | 双杰天平-国产双杰电子天平-美国双杰-常熟双杰仪器 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 |