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

相关推荐
小蒜学长2 分钟前
python餐厅点餐系统(代码+数据库+LW)
数据库·spring boot·后端·python
岳麓丹枫0015 分钟前
PostgreSQL 中 create database 中的注意事项
数据库·postgresql
梦想画家6 分钟前
告别关键词!PostgreSQL+pgvector 玩转语义和图像检索
数据库·postgresql
爱潜水的小L31 分钟前
自学嵌入式day41,数据库
jvm·数据库
橙汁味的风32 分钟前
《数据库系统概论》陈红、卢卫 - 9 - 关系数据库存储管理
数据库·数据库系统概论
最贪吃的虎36 分钟前
Redis 除了缓存,还能干什么?
java·数据库·redis·后端·缓存
u01316355142 分钟前
Oracle 报错:PLS-00201: 必须声明标识符‘DBMS_LOCK‘的解决方法
数据库·oracle
Awkwardx1 小时前
MySQL数据库—MySQL数据类型
数据库·mysql
郑泰科技1 小时前
hbase 避坑F:\hbase\hadoop\sbin>start-dfs.cmd 系统找不到文件 hadoop。
大数据·数据库·hadoop·hdfs·hbase
微爱帮监所写信寄信1 小时前
微爱帮监狱寄信写信小程序PHP底层优化框架
java·开发语言·数据库·spring·微信·php·mybatis