我想,以删除所有执行MySQL查询Wp_posts表中的行这post_parent是一个Wp_posts具有行post_type集产品;
所以我做
INSERT INTO temp (SELECT DISTINCT id FROM wp_posts WHERE post_type = "product")
Run Code Online (Sandbox Code Playgroud)
(插入 4k 行)
DELETE FROM wp_posts WHERE post_parent IN (SELECT tid FROM temp)
Run Code Online (Sandbox Code Playgroud)
..
大约 100 秒后,它返回
ERROR 1317 (70100): 查询执行被中断
是什么让这个查询如此缓慢?
MySQL 的某些版本in以非常低效的方式实现子查询。将其更改为相关exists子句:
DELETE FROM wp_posts
WHERE exists (SELECT 1 FROM temp where temp.tid = wp_posts.post_parent)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9852 次 |
| 最近记录: |