mysql select/update where id in(上万个元素)的优化方案:
select/update where id in(上万个元素)的优化方案:
优化前: select
select docId from tab1 where word in (select word from tab1 where docId=123) group by docId limit 1000;
优化后:
select docId from (select word from tab1 where docId=123) as t2 join tab1 t on t.word=t2.word where t2.word is not null GROUP BY docId limit 1000
优化前: update
update table1 t set t.column1=0 WHERE t.id in (SELECT tid FROM table2 b)
优化后:
update table1 t ,table2 b set t.column1=0 where t.id=b.id;
优化前: delete a where id in (1千个)
优化后: delete a from a inner join b on a.id=b.id where b.id=123
--------------------------------------sql 表变量:使用示例----------------------------------------
declare @tempProductAuthUser table
(
SKU varchar(50) primary key
)
insert into @tempProductAuthUser
select distinct SKU from( select sku from a inner join b on a.id=b.id where cum=1) tb
改造前
select * from c
where c.sku in(select sku from a inner join b on a.id=b.id where cum=1)
改造后:
select * from c
where c.sku in(select sku from @tempProductAuthUser)
改造后:
select * from c iner join @tempProductAuthUser d on c.sku=d.sku
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2012-10-19 ios NSDictionary 操作
2012-10-19 ios NSDate 操作