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

相关推荐
布局呆星10 分钟前
SQLite数据库的介绍与使用
数据库·python
2401_8384725111 分钟前
用Python和Twilio构建短信通知系统
jvm·数据库·python
石头wang16 分钟前
oracle jdbc 依赖以及对dbeaver的性能影响,如何选择oracle驱动, oracle jdbc 驱动
数据库·oracle
weixin_4521595518 分钟前
如何从Python初学者进阶为专家?
jvm·数据库·python
2301_790300961 小时前
用Python读取和处理NASA公开API数据
jvm·数据库·python
万象.1 小时前
redis持久化:AOF和RDB
数据库·redis·缓存
tod1131 小时前
力扣高频 SQL 50 题阶段总结(四)
开发语言·数据库·sql·算法·leetcode
!chen2 小时前
Redis快速实现布隆过滤器
数据库·redis·缓存
2301_790300962 小时前
数据分析与科学计算
jvm·数据库·python
-XWB-2 小时前
【Oracle】Oracle诊断系列(2/6):锁问题与阻塞分析——解决“卡住”的会话
数据库·oracle