タブ区切りファイルに 1800 列と約 400 万行あります。mysql関係としてロードしようとしています。Mysqlは私に与えています ERROR 1117 (HY0000): Too many columns
。Web で調べたところ、MySQL はこのような大きなデータを処理できないことがわかりました。いくつかの提案は、テーブルを垂直に分割することでした。
私が探しているのは、これを分割する方法と、分割されたテーブルで選択クエリを実行する方法の例です。
ありがとう
タブ区切りファイルに 1800 列と約 400 万行あります。mysql関係としてロードしようとしています。Mysqlは私に与えています ERROR 1117 (HY0000): Too many columns
。Web で調べたところ、MySQL はこのような大きなデータを処理できないことがわかりました。いくつかの提案は、テーブルを垂直に分割することでした。
私が探しているのは、これを分割する方法と、分割されたテーブルで選択クエリを実行する方法の例です。
ありがとう
1 つのリレーションを定義するために必要な数のテーブルを持つことができます。また、いくつかの理由 (パフォーマンス、セキュリティ) により、許容されるプラクティスと見なされます。
csv ファイルを分割し、同じ主キーでリンクされたテーブルを維持するだけです。
csv ファイルを分割するには、簡単にカットを使用できます (できればサイズ制限はありません)。
cut -d"," -f1-1000 patients.csv > cols1000.csv
cut -d"," -f1001-1800 patients.csv > cols1800.csv
もちろん、必要に応じてさらに分割することもできます。テーブルについては、インポートの方法を既にご存知だと思います。関係を維持するには、両方のテーブルで auto_increment pkey を使用するだけです。