前言
SQL优化是Java程序员几乎必备的技能,本人也深知其意义,不管是面试还是工作,对我们是非常有帮助的。尤其是开发版本时,需要引入新表的情况,需要考虑未来业务的体量,去建立合适的索引。
案例
取工作中的实际需求来说,有这样一个查询, A表关联B表,条件基本都是在B表上,同时在B表做了order by操作。
explain select d.* from product_demands_demo d JOIN product_demand_push_log_demo l on d.id = l.demand_id where d.created_at >= '2020-01-01'
and l.created_at >= '2020-01-01' and l.purchase_id = 100 and l.channel = 3 order by l.read_flag asc, l.created_at desc
建表语句:已去除一些无关的字段
CREATE TABLE `product_demands_demo` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`created_at` datetime NOT NULL COMMENT

本文通过一个实际的SQL查询优化案例,探讨了在Java项目中如何进行SQL优化。分析了在A表关联B表查询中,如何通过调整联合索引的顺序提高效率,以及在大表关联小表和小表关联大表时的性能差异。测试结果显示,正确设置联合索引和关联顺序对于查询速度有显著影响。
最低0.47元/天 解锁文章
654

被折叠的 条评论
为什么被折叠?



