1

タブ区切りファイルに 1800 列と約 400 万行あります。mysql関係としてロードしようとしています。Mysqlは私に与えています ERROR 1117 (HY0000): Too many columns。Web で調べたところ、MySQL はこのような大きなデータを処理できないことがわかりました。いくつかの提案は、テーブルを垂直に分割することでした。

私が探しているのは、これを分割する方法と、分割されたテーブルで選択クエリを実行する方法の例です。

ありがとう

4

1 に答える 1

2

1 つのリレーションを定義するために必要な数のテーブルを持つことができます。また、いくつかの理由 (パフォーマンス、セキュリティ) により、許容されるプラクティスと見なされます。

csv ファイルを分割し、同じ主キーでリンクされたテーブルを維持するだけです。

csv ファイルを分割するには、簡単にカットを使用できます (できればサイズ制限はありません)。

cut -d"," -f1-1000 patients.csv > cols1000.csv
cut -d"," -f1001-1800 patients.csv > cols1800.csv

もちろん、必要に応じてさらに分割することもできます。テーブルについては、インポートの方法を既にご存知だと思います。関係を維持するには、両方のテーブルで auto_increment pkey を使用するだけです。

于 2013-04-09T18:04:22.500 に答える