mysql delete 删除速度慢

猜不到的c 2016-12-16 04:25:03
DELETE
FROM
productionprocedure
WHERE
productionorderid IN (
SELECT
productionorderid
FROM
salesproduction
WHERE
salesorderid = '45f49726-76ff-4e2e-be8b-fbea6c3a4546'
)

DELETE
FROM
productionprocedure
WHERE
EXISTS (
SELECT DISTINCT
s.productionorderid
FROM
salesproduction s
WHERE
s.productionorderid = productionprocedure.productionorderid
AND salesorderid = '45f49726-76ff-4e2e-be8b-fbea6c3a4546'
)

productionprocedure表与salesproduction表也就几千条数据,select子查询结果有6条数据,但是执行删除语句的时候却用了6秒多钟。。太慢了,数据库引擎是innodb。 有解决方法吗,执行结果一样,都是删除语句,一个用的是delete..in ,一个用的是delete... exists. (效率差不多,都是6秒多钟)
...全文
2744 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
猜不到的c 2017-02-09
  • 打赏
  • 举报
回复
3365656
猜不到的c 2016-12-19
  • 打赏
  • 举报
回复
ID select_type table type possible_keys key key_len ref rows extra 1 PRIMARY <subquery2> ALL distinct_key null null null 6 1 PRIMARY productionprocedure ref index_name index_name 303 business.salesproduction.productionorderid 1 2 MATERIALIZED salesproduction ref index_name index_name 303 const 6 Using index condition; Using where -------------------------------------------------------------- show index FROM productionprocedure productionprocedure 0 PRIMARY 1 productionprocedureid A 3314 BTREE productionprocedure 1 index_name 1 productionorderid A 3314 YES BTREE show index FROM salesproduction salesproduction 0 PRIMARY 1 salesproductionid A 3222 BTREE salesproduction 1 index_name 1 salesorderid A 40 YES BTREE
ACMAIN_CHM 2016-12-17
  • 打赏
  • 举报
回复
改成 select 然后 以文本方式贴出 不要贴截图 explain select ... show index from .. 以供分析。
猜不到的c 2016-12-16
  • 打赏
  • 举报
回复
楼上两位的方法可以(加索引),增加索引速度在0.1~0.2之间。但是我测试了下 联表查询并没提高效率啊~,联表查询速度在0.2秒左右,用in的话速度还更快。。还有一个问题,分怎么给你们啊~~
rucypli 2016-12-16
  • 打赏
  • 举报
回复
DELETE t1 from productionprocedure t1,salesproduction t2 where t1.productionorderid =t2.productionorderid and t2.salesorderid = '45f49726-76ff-4e2e-be8b-fbea6c3a4546' t1.productionorderid 加索引 t2.salesorderid 加索引
fcy_n 2016-12-16
  • 打赏
  • 举报
回复
可以试试联表删除写法试一试,建议连接字段加索引

56,685

社区成员

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

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