如何在mysql中处理“太多列”

时间:2013-04-09 17:40:47

标签: mysql sql partitioning bigdata

我在制表符分隔文件中有1800列和大约4百万行。我试图将其加载为mysql关系。 Mysql给了我ERROR 1117 (HY0000): Too many columns。 我在网上查了一下,发现MySQL无法处理这么大的数据,有些建议是垂直分区。

我正在寻找的是一个关于如何对此进行分区以及如何对分区表执行选择查询的示例。

谢谢

1 个答案:

答案 0 :(得分:1)

您可以拥有任意数量的表来定义单个关系。由于几个原因(性能,安全性),它也被认为是可接受的做法。

您只需要拆分csv文件并保持表与相同的主键链接。

要拆分csv文件,您可以轻松使用剪切(希望没有大小限制):

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

如果您愿意,可以拆分更多。对于表格,我了解您已经知道如何导入。只需在两个表中使用auto_increment pkey即可保持关系。