MySQL全文索引、联合索引、like查询、json查询速度大比拼

一、like查询,耗时248毫秒,EXPLAIN分析结果为全表扫描。二、json函数查询,利用JSON_SEARCH函数,查询耗时196毫秒,速度稍快于like查询,EXPLAIN分析结果仍为全表扫描。三、联合索引查询,建立type-del-is_leaf的联合索引后,执行like查询和json查询,明显提速。like查询耗时136毫秒,json查询耗时82.6毫秒。
MySQL全文索引、联合索引、like查询、json查询速度大比拼
表tmp_test_course拥有10万条记录,json字段outline保存一对多关系,查询目标总数据量为2931条。本文对比全文索引、联合索引、like查询及json查询的速度。

一、like查询,耗时248毫秒,EXPLAIN分析结果为全表扫描。

二、json函数查询,利用JSON_SEARCH函数,查询耗时196毫秒,速度稍快于like查询,EXPLAIN分析结果仍为全表扫描。

三、联合索引查询,建立type-del-is_leaf的联合索引后,执行like查询和json查询,明显提速。like查询耗时136毫秒,json查询耗时82.6毫秒。EXPLAIN分析结果显示,两者查询扫描的行数都限定在2931行。

四、全文索引查询,将json字段定义为支持全文索引类型后,使用全文索引进行检索,耗时仅为11.6毫秒,速度提升显著。EXPLAIN分析结果显示只扫描了一行。

全文索引、联合索引、json函数查询及like查询的执行结果为:全文索引:11.6ms、联合索引:82.6ms(json)、136ms(like)、json函数查询:196ms、like查询:248ms。结论是全文索引速度最快,且数据量越大,全文索引速度优势越明显。对于百万或千万级别的表,全文索引的提升差距会更大。因此,全文索引是推荐使用的选择。2024-11-01
mengvlog 阅读 36 次 更新于 2025-09-11 08:35:18 我来答关注问题0
  •  翡希信息咨询 MySQL索引

    主键索引(PRIMARY KEY)是一种特殊的唯一索引,不仅具有唯一性约束,而且不允许为空值。主键索引通常用于唯一标识表中的每一行数据。联合索引 由多个列组成的索引,可以是主键索引、唯一索引或普通索引。联合索引的创建可以加速涉及多个列的查询操作。全文索引(FULLTEXT)用于对文本字段进行全文搜索,特别...

  •  文暄生活科普 彻底搞懂MySQL的主键索引、普通索引和联合索引

    这是图解MySQL的第4篇文章,这篇文章将帮助你理解MySQL的主键索引、普通索引和联合索引。为了更好地解释索引,我们先建个表。我创建了一个存储引擎为InnoDB的表user_innodb,其中包含主键id、姓名字段(name)、性别字段(gender,用0,1表示不同性别)、手机号字段(phone),并批量初始化了500W+条数据。

  •  翡希信息咨询 MySQL 常见索引类型介绍

    作用:确保列中的值唯一。单列索引:作用:只针对单列进行索引。多列索引:作用:针对多列进行联合索引,提高多列查询的效率。前缀索引:作用:只对索引列的前缀进行索引,适用于长文本字段。倒序索引:特点:根据索引列的值逆序排序,用于特定查询优化。函数索引:作用:索引结果为函数计算后的值,适用于...

  •  文暄生活科普 Java面试必问的MySQL——从原理到优化,深入浅出数据库索引

    索引失效原因联合索引失效:查询条件未使用索引中最左侧字段。检查索引使用情况使用Handler_read监控。查看sys库中的schema_unused_indexes。EXPLAIN命令分析SQL查询的执行计划,包括索引使用情况。类型指示执行方式,Extra描述优化或问题。通过以上内容,您可以深入了解MySQL索引的创建、类型、维护和优化方法,从而更...

  •  文暄生活科普 什么是索引?索引有哪些类型和原则?

    其他优化建议选择合适的索引类型:根据应用场景选择合适的索引类型。例如,对于唯一标识字段,应使用主键索引;对于需要过滤重复数据的字段,应使用唯一索引;对于多值字段,可使用普通索引;对于需要进行模糊查询或短文本匹配的字段,可使用全文索引。索引列顺序优化:在创建联合索引时,应根据查询条件中的字段...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部