MySQL-含json字段表和与不含json字段表查询性能对比

含json字段表和与不含json字段表查询性能对比

说明:

EP_USER_PICTURE_INFO_2:不含json字段表

20200729json_test:含有json字段表

其中20200729json_test 标准ID、MANAGER_NO、PHONE_NO 为非json字段

data为json字段

2个表中MANAGER_NO、PHONE_NO都创建了各自的索引

测试对比

  1. 非json字段查询对比

2、带条件查询(不包含json字段)

3、含有json字段查询对比

4、只包含json字段查询

5、添加虚拟列

alter table 20200729json_test add column TASK_NUM_VIRTUAL int GENERATED ALWAYS AS (`data` ->> '$.TASK_NUM');

然后给虚拟列加索引

alter table 20200729json_test add key (TASK_NUM_VIRTUAL);

给非json表加索引

alter table EP_USER_PICTURE_INFO_2 add index idx_TASK_NUM(TASK_NUM);

再次测试查询条件

综上所述:在查询条件只有json 字段的时候,测试结果显示非json 表查询速度要比json 字段表要快,但是在给json 字段里的key 索引后,查询速度接近,由于业务场景一般都会带MANAGER_NO 字段查询,所以业务场景可以使用json 表。

相关推荐
tianyuanwo5 分钟前
MySQL 深度解析:从核心概念到实战指南,及数据库选型决策
数据库·mysql·centos
代码探秘者18 分钟前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring
深蓝轨迹41 分钟前
Redis 消息队列
java·数据库·redis·缓存·面试·秒杀
曹牧1 小时前
Oracle:分批查询
数据库·oracle
祭曦念1 小时前
MySQL基础运维:mysqldump全量备份与恢复实操 | 新手可直接落地的备份指南
运维·数据库·mysql
于樱花森上飞舞1 小时前
【Redis】初识Redis
数据库·redis·缓存
羊小猪~~1 小时前
【QT】-- QMainWindow简介
开发语言·数据库·c++·后端·qt·前端框架·求职招聘
codkingo1 小时前
Skill:Agent 的可插拔能力单元
数据库·oracle
Boop_wu1 小时前
[MyBatis] MyBatis 快速入门(1)
数据库·oracle
l1t1 小时前
QWen 3.5plus总结的总结基准测试结果的正确方法
前端·数据库