您好,登錄后才能下訂單哦!
mysql中批量刪除數據的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
mysql中批量刪除數據的方法:首先找出符合條件的最大id;然后在where字段上建立索引;最后通過命令“delete from table_name where id < maxId limit 10000”批量刪除數據即可。
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 < '2017-04-06'
在where字段上建立索引可提高效率
千萬左右的數據大概需要10多秒
接著按id刪除,一次刪除10k,循環刪除
delete from table_name where id < maxId limit 10000
感謝各位的閱讀!看完上述內容,你們對mysql中批量刪除數據的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。