php mysqlのクエリ効率について教えてください
Excelドキュメントのデータをmysqlデータベースにアップロードし、同じIDカードがデータベースにすでに存在する場合、ExcelファイルのIDカード列をクエリする必要があります。この場合、このレコードはインポートされません。
現在、次のステートメントを使用してクエリを実行しています:
SELECT id FROM information WHERE idcard = '$sfz' LIMIT 1
返された結果の数が 0 より大きい場合、その結果は存在します。
しかし、5,000 件を超えるデータを 1 つずつクエリして判断してデータベースに挿入すると、完了するまでに 1 分近くかかります。
もっと良いアイデアはありますか?
-----解決策---------
それならあなたがそうするのは何も悪いことではありません。または、idcard にインデックスを追加することもできます。
ただし、一度選択して INSERT するのと同様、インデックスの更新にも時間がかかります。
mysql がインデックスを更新するまでの遅延時間を設定するか、
すべてを一度に選択してレコードにタグを追加して挿入します。
------解決策------------------
主催者はまだ解決していません。 。 。 ...
基本的には上記のすべてなので、テストした後、どちらが良いかを選択できます。
特定のデータやコードはありません。
解決策は依然として独自のデバッグとテストに依存します。