4

docsから、次のように述べています。

CSV ストレージ エンジンは、コンマ区切り値形式を使用してテキスト ファイルにデータを保存します。

これの利点は何ですか?ここに私が考えることができるいくつかがあります:

  1. 簡単なテキスト エディタを使用して CSV ファイルを編集できます (ただし、 を使用して簡単にデータをエクスポートできますSELECT INTO OUTFILE) 。
  2. スプレッドシート プログラムに簡単にインポートできます
  3. 軽量でおそらくパフォーマンスが向上します(勝手な推測です)

いくつかの欠点は何ですか?

  1. インデックスなし
  2. 分割不可
  3. 取引なし
  4. NULL 値を持つことはできません

この (網羅的ではない) 長所と短所のリストを踏まえて、どのような実際のシナリオで、他のものよりも CSV ストレージ エンジンの使用を検討する必要がありますか?

4

2 に答える 2

11

CSV ストレージ エンジンはほとんど使用しません。ただし、これが役立つシナリオの 1 つは、大量のデータをインポートする場合です。

  1. 入力 CSV ファイルに一致する列を含むテーブルを作成します。
  2. mysql の外部で、シェル プロンプトを使用してmv、CSV ファイルを MySQL データ ディクショナリに挿入し、作成したばかりのテーブルに属する .csv ファイルを上書きします。
  3. ALTER TABLE mytable ENGINE=InnoDB

ほら!INSERT や LOAD DATA の代わりに DDL を使用して、巨大な CSV データ ファイルをワンステップでインポートします。

確かに、個々の列の NULL やカスタム オーバーライド、または重複値を処理するための "置換" または "無視" 機能を実行できないため、INSERT や LOAD DATA よりも柔軟性が低くなります。しかし、インポートしたいものとまったく同じ入力ファイルがある場合は、インポートが非常に簡単になる可能性があります。

于 2014-10-21T17:03:05.587 に答える