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 阅读 10 次 更新于 2025-07-20 00:11:41 我来答关注问题0
  •  翡希信息咨询 MySQL 常见索引类型介绍

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

  •  文暄生活科普 Mysql中索引失效的场景

    Mysql中的索引主要分为:主键索引,普通索引,唯一索引,全文索引,空间索引,联合索引,前缀索引。索引失效场景包括:1.在联合索引使用时,查询条件不遵循最左字段原则,导致索引失效。2.使用select *时,系统会进行全表扫描,索引失效。3.在查询条件中,索引字段参与运算或函数处理,需全表扫描,索引失效。

  •  倍领趣闻 MySQL中如何设置唯一索引,联合索引?

    在MySQL中设置唯一索引和联合索引是优化数据库性能的重要手段。首先,如果要创建一个唯一索引,可以使用以下SQL语句:CREATE TABLE `wb_blog` (`id` smallint(8) unsigned NOT NULL,`catid` smallint(5) unsigned NOT NULL DEFAULT '0',`title` varchar(80) NOT NULL DEFAULT '',`content` text ...

  •  文暄生活科普 MySQL详解之InnoDB:B+ 树索引、哈希索引、全文索引

    在数据库系统中,索引的使用对于提升查询性能至关重要。然而,合理设计索引结构并维持平衡以避免性能损失,是数据库管理中的一项挑战。本文将深入探讨InnoDB存储引擎中的三种常见索引类型:B+树索引、哈希索引、全文索引。B+树索引 是InnoDB支持的索引类型之一,它并非二叉树,而是一种平衡查找树。在B+树中...

  •  深空见闻 mysql联合索引顺序问题

    MySQL联合索引顺序需遵循“最左前缀+高频高区分度优先”原则,同时规避范围查询对后续字段的影响。最左前缀匹配:联合索引要按从左到右顺序创建,查询时必须从最左列开始匹配,且不跳过中间列。例如索引(a,b,c),仅支持a、a+b、a+b+c的查询条件,不支持b、c、b+c等跳过最左列的情况。不过,若...

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

mySQL相关话题

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