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 表。

相关推荐
p&f°6 分钟前
PostgreSQL 执行计划控制参数详解
数据库·postgresql·oracle
航Hang*6 分钟前
第3章:复习篇——第1节:创建和管理数据库
开发语言·数据库·笔记·sql·sqlserver
雪域迷影8 分钟前
Windows11中VS2026使用C++ 现代化json库nlohmann的3种方式
开发语言·c++·json
铉铉这波能秀9 分钟前
正则表达式从入门到精通(字符串模式匹配)
java·数据库·python·sql·正则表达式·模式匹配·表格处理
sc.溯琛10 分钟前
MySQL 进阶实验:数据库与数据表管理完全指南
数据库·oracle
好记忆不如烂笔头abc12 分钟前
oracle迁移到sqlserver的注意点
数据库·oracle·sqlserver
YJlio16 分钟前
ZoomIt 学习笔记(11.11):休息计时器与演讲节奏控制——倒计时、番茄钟与现场掌控力
数据库·笔记·学习
雪域迷影18 分钟前
nlohmann::json库对象和json结构体转换的新方式
c++·json·nlohmann_json库
sc.溯琛29 分钟前
MySQL 性能优化核心:索引创建与管理实战指南
数据库·mysql·性能优化
锋君43 分钟前
Orcale数据库在Asp.Net Core环境下使用EF Core 生成实体
数据库·后端·oracle·asp.net