sql delete 级联删除,批量删除

原创
2023/04/20 18:03
阅读数 521

目的

  1.    在我们在做数据清理时,担心直接删除会影响数据库性能,就采用了批量删除。
  2.    但批量删除时,我们通常做的操作就是把数据查询出来在删除。
  3.    而本条sql可以实现直接在数据库内部,进行批量删除,避免了数据传输的损耗。

参数说明:

    im_user_msg_box:要删除的表数据       limit:  删除的数量

delete iumb from im_user_msg_box iumb 
inner join (
	select 
		self_uid,peer_uid,s_msg_id  
	from im_user_msg_box 
	where self_uid  = 1636633353333551106 limit 0,1
) iumb2 
on 
iumb.self_uid = iumb2.self_uid and iumb.peer_uid = iumb2.peer_uid
and iumb.s_msg_id = iumb2.s_msg_id;

业务使用说明:

  1. 定时调用删除 sql
  2. 定时查询count(1)操作,确认数据是否清理完成

 

 

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部