insert ignore いくつかの理由から、より良い方法です。
パフォーマンスの観点から、2つではなく、1つのクエリのみがコンパイルおよび実行されます。これにより、データベースにデータを出し入れするオーバーヘッドが節約されます。
メンテナンスに関しては、ロジックがすべて1つの場所にあるため、クエリを1つだけ持つ方がメンテナンスが容易です。 whereを追加した場合 たとえば、句は、2つの別々のクエリで追加するのを見逃す可能性が高くなります。
精度の観点から、競合状態の機会がない(または少なくともはるかに少ない)クエリは1つだけにする必要があります。 selectの間に行が挿入されている場合 およびinsert 、それでもエラーが発生します。
ただし、insert ignoreよりも優れています insert . . . on duplicate key update 。後者は、重複の問題のエラーを回避するだけです。 insert ignore 実際に気になるエラーを無視している可能性があります。
ちなみに、とにかくステートメントからのエラーをチェックする必要があります。