mysql中如何批量刪除數據

mysql中批量刪除數據的方法:首先找出符合條件的最大id;然后在where字段上建立索引;最后通過命令“delete from table_name where id

mysql中如何批量刪除數據

推薦:《mysql視頻教程

mysql批量刪除大數據

mysql一次性刪除大量數據是有可能造成死鎖的,而且也會拋異常

The?total?number?of?locks?exceeds?the?lock?table?size?in?MySQL

這是由于需要刪除的數據太大,mysql給的buffer好像只有8MB左右

lock wait timeout exceed 超時

所以需要分批處理,這也是操作大數據時一種常見的思路

網上比較好的一種方法是:

首先找出符合條件的最大id(這里的id是有序的,不需要連續)

select?max(id)?from?table_name?where?create_time?<p>在where字段上建立索引可提高效率</p><p>千萬左右的數據大概需要10多秒</p><p>接著按id刪除,一次刪除10k,循環刪除</p><pre class="brush:php;toolbar:false">delete?from?table_name?where?id?

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享