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

相关推荐
刺客-Andy31 分钟前
Python 第二十节 正则表达式使用详解及注意事项
python·mysql·正则表达式
哈__44 分钟前
MongoDB 平替新方案:金仓多模数据库驱动电子证照国产化落地
数据库·1024程序员节
微学AI1 小时前
国产数据库替代MongoDB的技术实践过程:金仓多模数据库在电子证照系统中的深度应用
数据库·人工智能·1024程序员节
TDengine (老段)2 小时前
TDengine 数据函数 ROUND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·1024程序员节
TDengine (老段)2 小时前
TDengine 数学函数 RAND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
野犬寒鸦2 小时前
从零起步学习MySQL || 第十章:深入了解B+树及B+树的性能优势(结合底层数据结构与数据库设计深度解析)
java·数据库·后端·mysql·1024程序员节
GZ_TOGOGO2 小时前
Oracle OCP考试报名常见问题详解
数据库·oracle·ocp认证
睡不醒的猪儿2 小时前
nginx日志同步阿里云datahub后写入数据库
数据库·nginx·阿里云
xie_zhr2 小时前
【PB案例学习笔记】-46在数据窗口中编辑数据
数据库·his·1024程序员节·干货分享·pb·powerbuilder
小小的木头人3 小时前
Redis 集群安装指南
数据库·redis