SQL新手求教这段有无优化空间?

chenchenyangll 2012-07-14 02:27:41

create temporary table tbd(id int) select id from d where para <> 1234;

delete from t1 where id in (select id from tbd);
delete from t2 where id in (select id from tbd);
delete from t3 where id in (select id from tbd);
delete from t4 where id in (select id from tbd);

drop table tbd;


新手求教,有无改进空间?怎么改进?
...全文
149 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2012-07-14
  • 打赏
  • 举报
回复
explain ...不就知道了吗
chenchenyangll 2012-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

delete t1 from t1,d where t1.id=d.id;
delete t1 from t2,d where t2.id=d.id;
delete t1 from t3,d where t3.id=d.id;
delete t1 from t4,d where t4.id=d.id;
[/Quote]

这样直接删除,比先select出来再删除快吗?

我的想法是先select出来那么就不用做4遍查询了。
bonlog 2012-07-14
  • 打赏
  • 举报
回复
你的目的是?
delete t1 from t1,d where t1.id=d.id;
delete t1 from t2,d where t2.id=d.id;
delete t1 from t3,d where t3.id=d.id;
delete t1 from t4,d where t4.id=d.id;
ACMAIN_CHM 2012-07-14
  • 打赏
  • 举报
回复
delete t1 from t1,d where t1.id=d.id;
delete t1 from t2,d where t2.id=d.id;
delete t1 from t3,d where t3.id=d.id;
delete t1 from t4,d where t4.id=d.id;
码无边 2012-07-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

delete t1 from t1,d where t1.id=d.id;
delete t1 from t2,d where t2.id=d.id;
delete t1 from t3,d where t3.id=d.id;
delete t1 from t4,d where t4.id=d.id;


这样直接删除,比先select出来再删除快吗?……
[/Quote]的却是要快一点的。

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧