PHP と MySql に基づくアプリケーションを使用している場合、パフォーマンスの問題があります。このアプリケーションは、データをアップロードする必要があるデータ移行用であり、さまざまなプロセス (外来文字のクリーニング、重複チェック、ID 生成) の後、1 つの中央テーブルに挿入し、次に 5 つの異なるテーブルに挿入する必要があります。そこで、ID が生成され、その ID を中央テーブルに更新する必要があります。レコードと検証ルールにはさまざまなセットがあります。私が直面している問題は、say(4K) 行ファイル (20 列を含む) を挿入すると、15 分以内に正常に動作し、どこにでも挿入されることです。しかし、同じレコードを再度挿入すると、この時点で挿入に 1 時間かかります (理想的には、以前に挿入されたデータを重複としてマークして挿入する必要があります)。ログファイルを調べた後、重複をチェックし、重複している ID を取得している Mysql select ステートメントがあることに気付きました。次に、基本的にレコードを 5 つのテーブルに挿入し、id を中央テーブルに更新する for ループ内の関数を呼び出しています。この Calling 関数は、プロセス全体の主要な時間です。PSレコードはレコードごとに挿入する必要があります..親切にいくつかの解決策を提案してください..
//これがそのサンプルコードです
$query=mysql_query("SELECT DISTINCT p1.ID
FROM table1 p1, table2 p2, table3 a
WHERE p2.datatype =0
AND (p1.datatype =1 || p1.datatype=2)
AND p2.ID =0
AND p1.ID = a.ID
AND p1.coulmn1 = p2.column1
AND p1.coulmn2 = p2.coulmn2
AND a.coulmn3 = p2.column3");
$num=mysql_num_rows($query);
for($i=0;$i<$num;$i++) {
$f=mysql_result($query,$i,"ID");
//calling function
RecordInsert($f);
}