2016-09-25 11 views
1

私は、テーブルを切り捨て、.csvファイルからデータを再構築するPHPスクリプトを持っています。このスクリプトには15分ごとにそれを実行するcronジョブがあります。サーバーに計算の10〜15秒かかることがあります(私のPHPスクリプトが終了するまで他のスクリプトのクエリのテーブルをロック

私は、この表のデータはそれのために非常に重要である別のスクリプトを持っており、このスクリプトは少し重いです。

を時にはそれが最初のスクリプトは、しばらく時間が起こることが起こります Thanx

答えて

1

最初のスクリプトが実行されている間にこのテーブルを「ロック」する方法はありません。新しいテーブルを古い名前にすばやく名前を変更してから、今すぐ古いテーブルを削除します。

CREATE TABLE _new LIKE old; 
TRUNCATE _new; 

LOAD DATA INFILE ... INTO _new ...; 

RENAME TABLE old TO _old, _new TO old; 
DROP TABLE _old; 

これをテストしてデータが残っていないことを確認してください。終了することなく終了すると、同じリスクがTRUNCATEメソッドに適用されます。

+0

ありがとうございます。 これは良い考えです。 私はそれを試してみましょう。 –

関連する問題