mysql中批量刪除數據的方法:首先找出符合條件的最大id;然后在where字段上建立索引;最后通過命令“delete from table_name where id
推薦:《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
喜歡就支持一下吧
相關推薦