XMLファイルにinactive_productsのリストがあります。私は非アクティブな製品のリストに基づいてDBにある製品の "アクティブ"(ブール値)フィールドを更新する必要があります。しかし、非アクティブな製品のリストには、私のDBにさえいない多くの製品が含まれています。アクティブでない製品のリスト全体でWHERE IN句を使用してUPDATE文を実行するほうが速いのでしょうか?または、非アクティブな製品のリストをアクティブな製品のCSVファイルと最初に比較して関連する非アクティブな製品を取得し、代わりにこのフィルタリングされたリストをすべて含むUPDATE文を実行しますか?WHERE IN句を使用したSQL更新クエリは、パフォーマンスに問題がある可能性のある行IDが多分含まれていますか?
私の最初の考えは、SQLにそのフィルタリングされたリストを処理させるだけで、技術的に正しい答えは何ですか?
ソースがXMLファイルであり、SQLテーブルではない場合はどうなりますか? XMLファイルから一時テーブルを作成するだけですか?また、2つのテーブルの間で一致する行を更新するには、どのステートメントを実行できますか? – blacktie24
xmlはxmlです - あなたはそのデータを何らかの方法でデータベースに取得する必要があります(何とかそれらをあなたのsql IN演算子に手に入れましたか?) – topchef
すぐにgoogled "update join mysql" //www.electrictoolbox.com/article/mysql/cross-table-update/ – topchef