ホームページ > データベース > mysql チュートリアル > mysqlでデータを一括削除する方法

mysqlでデータを一括削除する方法

藏色散人
リリース: 2020-10-29 16:49:42
オリジナル
13565 人が閲覧しました

mysql でデータを一括削除する方法: 最初に条件を満たす最大の id を見つけます。次に where フィールドにインデックスを作成します。最後にコマンド「delete from table_name where id <」でデータを一括削除します。 ; maxId 制限 10000」。できます。

mysqlでデータを一括削除する方法

# 推奨: 「

mysql ビデオ チュートリアル

mysql によるビッグ データの一括削除

Mysql で一度に大量のデータを削除すると、デッドロックが発生し、例外がスローされる可能性があります。

The total number of locks exceeds the lock table size in MySQL
ログイン後にコピー

これは、削除する必要があるデータが大きすぎて、バッファーが提供されているためです。 mysql では 8MB 程度しかないようです

ロック待機タイムアウトがタイムアウトを超えます

#したがってバッチ処理する必要があり、これもビッグデータを操作する場合の一般的な考え方です

インターネット上のより良い方法は次のとおりです。

まず、条件を満たす最大の ID を見つけます (ここでの ID は順序付けされており、連続している必要はありません)

select max(id) from table_name where create_time < &#39;2017-04-06&#39;
ログイン後にコピー

where フィールドは効率を向上させることができます

約 1,000 万データには約 10 秒かかります

次に、ID ごとに削除し、一度に 10,000 個ずつ削除し、ループで削除します

delete from table_name where id < maxId limit 10000
ログイン後にコピー

以上がmysqlでデータを一括削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート