栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL全文索引、联合索引、like查询,java基础教程完整版pdf

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL全文索引、联合索引、like查询,java基础教程完整版pdf

我们在限定为上面类型的同时,还得包含下面任意一个编码(也就是OR查询)

jy1577683381775

jy1577683380808

jy1577683379178

jy1577683378676

jy1577683377617

jy1577683376672

jy1577683375903

jy1578385720787

jy1499916986208

jy1499917112460

jy1499917093400

jy1499917335579

jy1499917334770

jy1499917333339

jy1499917331557

jy1499917330833

jy1499917329615

jy1499917328496

jy1576922006950

jy1499916993558

jy1499916992308

jy1499917003454

jy1499917002952

下面分别列出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%’

)

EXPLAIN分析结果如下,全表扫描

二、json函数查询

==========

使用函数JSON_SEARCH,更多函数请查看MySQL官方文档

可以看到,查询耗时196毫秒,速度稍微快了一点

SELECt * FROM tmp_test_course

WHERe type=5 AND del=2 AND is_leaf=1

AND

(

JSON_SEARCH(outline, ‘one’, ‘jy1577683381775’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1577683380808’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1577683379178’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1577683378676’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1577683377617’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1577683376672’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1577683375903’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1578385720787’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499916986208’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917112460’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917093400’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917335579’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917334770’)

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917333339’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917331557’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917330833’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917329615’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917328496’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1576922006950’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499916993558’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499916992308’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917003454’) IS NOT NULL OR

JSON_SEARCH(outline, ‘one’, ‘jy1499917002952’) IS NOT NULL

)

EXPLAIN分析结果如下,还是全表扫描

三、联合索引查询

========

下面为该表建立一个联合索引(本来想建一个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快

EXPLAIN分析结果如下,两者查询扫描的行数都限定在了2931行

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/667366.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号