地狱里的读书人 2021-12-24 11:32 采纳率: 0%
浏览 40

在MySQL中,怎样删除表中与临时表相同的数据?

A表(有上亿条数据),需要删除其中与B表(数据量不定)相同的数据(也可能没有相同数据,也可能都是),有索引,无主键,不能分表

以下语句太慢,应该怎么改?

DELETE A FROM A WHERE EXISTS (

SELECT 1 FROM B WHERE A.insert_time = B.insert_time

)

  • 写回答

2条回答 默认 最新

  • Keifei 2021-12-24 17:47
    关注

    第一步先查出要删除数据的rowid,然后根据rowid删除,这是最快的办法了。但是你这里a表和b表有相同的插入时间?这是什么逻辑关系?即使两个表有主外健关系也不可能插入时间完全相同啊

    评论

报告相同问题?

问题事件

  • 修改了问题 12月24日
  • 创建了问题 12月24日

悬赏问题

  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令