2

クエリ/データの整合性の問題に直面しています。

MySQL データベースから大量のデータ (数ギガバイト) を読み取り、PHP を使用してそれらを処理し、完全に異なるテーブルの同じデータベースに再挿入しています。これは、古いデータ構造から新しいデータ構造への 1 回の変換であり、大量の値をその場で変更する必要があります。

SELECT FROM x-> modify in PHP->INSERT INTO yすぎます。これには 1000 レコードあたり約 1 秒かかります。そのため、すべてを text/sql ファイルにエクスポートすることにしました。INSERT

しかし、ここに行く最も安全な方法は何ですか? データは、ブール値から BLOB までのすべてです。何が含まれていて何が含まれていないのかはよくわかりませんが、引用符やスラッシュなどを含め、すべてを適切に元の位置に戻す必要があります.

データを失うことなく脱出するにはどうすればよいですか?

4

1 に答える 1

1

プリペアド ステートメントを使用すると、データをエスケープする必要がなくなります。

プリペアド ステートメント用に作成したクエリは、行ごとに 1 つの実行呼び出しを行う代わりに、連結してグループとして実行できます。

SQL ステートメントを作成、グループ化、および連結するコードでは、グループに連結されるステートメントの数を簡単に選択できるため、1 回の exec 呼び出しで 100 個のステートメントと 1 回の exec 呼び出しで 1000 個のステートメントを試すことができます。

結果ははるかに良くなるはずです。

于 2013-01-22T12:27:05.870 に答える