总记录:
number_balance 8000
no_attribution 4000
business_products_num 50000
关系:
number_balance 1-1 no_attribution ;
number_balance 1:n business_products_num
NOT IN 查询 28s
SELECT * FROM number_balance n WHERE n.`status` = 1 AND number_id
NOT IN (SELECT number_id FROM no_attribution UNION SELECT number_id FROM business_products_num )
两个 NOT EXISTS 查询 22s
SELECT * FROM number_balance n WHERE n.`status` = 1 AND
NOT EXISTS (SELECT 1 FROM no_attribution noa WHERE n.`number_id` = noa.number_id )
AND NOT EXISTS (SELECT 1 FROM business_products_num nob WHERE n.`number_id` = nob.number_id)
1个 NOT EXISTS 查询 <1s
SELECT * FROM number_balance n WHERE n.status = 1 AND NOT EXISTS (SELECT 1 FROM ( SELECT number_id FROM no_attribution UNION SELECT number_id FROM business_products_num)
AS haved WHERE n.`number_id` = haved.number_id)
本文探讨了在特定场景下,如何通过不同的SQL查询方式实现查询效率的提升。对比了使用NOT IN、NOT EXISTS以及多表联合查询的方法,并给出了实际运行的时间对比结果。结果显示,合理运用NOT EXISTS可以在大规模数据查询中显著提高查询速度。
4153

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



