0

140 列の MySQL テーブルと、約 80k 行、つまりテーブルの 7.5k エントリ (行) の txt ファイルがあります。

どちらが速いでしょうか?

"insert into myTable (<140 列名>) 値 (<140 列エントリ>);" 一度に 1 つの行全体を入力しますか (行ごとに 1 つのデータベース トランザクションだけですが、140 の列があるため、1 つの挿入ステートメントは非常に長くなります)

また

"update myTable set = where =...;" 列エントリを 1 つずつ入力します (多くのデータベース トランザクションを作成します)。

4

3 に答える 3

3

一括挿入を使用することをお勧めします:

BULK INSERT List FROM 'c:\Txt.txt' WITH (FIELDTERMINATOR = '","')

よりクリーンなアプローチです

于 2012-12-30T16:57:15.383 に答える
1

実行されるコミット/クエリが少ないほど、高速になります。さまざまなチャンク サイズを試してみてください。たとえば、x 行数を挿入してコミットします。すべての行が完了するまで繰り返します。パフォーマンスの多くは、テーブルに構成されているトリガーとインデックスに依存します。

于 2012-12-30T17:04:22.153 に答える
0

1 つの大きなトランザクションは、常に 80k トランザクションよりも高速です。

80,000 トランザクションの作成がより高速になると思われる理由は何ですか?

于 2012-12-30T16:56:41.123 に答える