次の表を検討する場合
table_A (id (PK)、値 1、値 2)
たとえば、(1,5)、(1,3)、(3,5) などの一連のデータを挿入する場合
次のようなクエリを実行できます。
INSERT INTO table_A (value1, value2) VALUES (1,5), (1,3), (3,5)
これはうまくいくでしょう。ただし、準備されたステートメントの方が優れていると言われています。準備されたステートメントを見ると、このようなことをしなければならないようです
$stmt = $dbh->prepare("INSERT INTO table_A (value1, value2) VALUES (?, ?)");
$stmt->bindParam(1, $value1);
$stmt->bindParam(2, $value2);
//for each set of values
$value1 = 1;
$value2 = 5;
$stmt->execute();
私の質問は、準備されたステートメントが最初の方法よりも (パフォーマンスに関して) どのように優れているかです。1 つは単一のクエリであり、もう 1 つは同じクエリの複数の実行を伴います。最初のクエリは 3 つの個別のクエリか何かにコンパイルされますか?