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

相关推荐
qq_414256579 小时前
Redis如何解决哨兵通知延迟问题_优化客户端连接池动态刷新拓扑的订阅监听机制
jvm·数据库·python
m0_676544389 小时前
MySQL如何配置不同级别的事务锁_调整innodb_locks_unsafe_for_binlog
jvm·数据库·python
dFObBIMmai9 小时前
mysql索引区分度不足如何解决_mysql多列索引组合优化
jvm·数据库·python
神明9319 小时前
SQL处理JOIN查询中数据倾斜的问题_散列连接键或增加缓存
jvm·数据库·python
m0_591364739 小时前
c++ 实时傅里叶变换stft c++如何进行音频的频谱分析
jvm·数据库·python
2401_832365529 小时前
MySQL无法修改数据表结构_检查磁盘空间与元数据锁
jvm·数据库·python
l1t9 小时前
类似 X-13ARIMA-SEATS 功能的 JDemetra+ 安装和使用
java·数据库·r语言
X56619 小时前
c++ aot编程 c++如何使用oneapi进行跨平台并行编程
jvm·数据库·python
2501_901006479 小时前
如何按优先级控制 Flex 容器中子元素的截断顺序
jvm·数据库·python
Elastic 中国社区官方博客9 小时前
用于 JavaScript 和 TypeScript 的 ES|QL 查询构建器:流式、类型安全的查询构建
大数据·javascript·数据库·elasticsearch·搜索引擎·typescript·全文检索