MySQL-含json字段表和与不含json字段表查询性能对比
2023-12-13 03:46:47
?含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都创建了各自的索引
测试对比
- 非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表。
文章来源:https://blog.csdn.net/shiyu1157758655/article/details/134802134
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!