私のMySQLテーブルには、20万以上のレコードが含まれています。私は私が mysqlテーブルから何百万ものレコードを削除する方法
Operation failed: There was an error while applying the SQL script to the database. ERROR 1205: 1205: Lock wait timeout exceeded; try restarting transaction SQL Statement:
以下の言及としてエラーを得た上でクエリを実行している間 delete FROM mydb.dailyreportdetails where idDailyReportDetails>0 order by idDailyReportDetails asc limit 1000 ;
を実行することにより、低屈折率から、それを削除したいすべてのMySQLのバックグラウンドでクエリを実行するための方法またはいずれかをそこに持っているされていますそれらのレコードを削除する高速な手順?
不要なレコードを定期的に削除するために、一定の時間間隔でプロジェクトでcronジョブを実行することをお勧めします。 –
はdailyreportdetailsテーブルのidDailyReportDetails列自動インクリメントキーですか?スキーマを共有してください。 – shashankqv
この文は、何百万ものレコードではなく、最大1000個のレコードを削除します。明らかに、それは削除ではなく時間を費やしているクエリ部分です。 'idDailyReportDetails'はインデックスされていますか? – EJP