2017-02-02 10 views
-3

1つのInnoDBテーブルに4000個のカラムが必要です。 InnoDBには1017個のカラムがあります。 この数字を大きくすることはできますか?どうやって? 4000回のtimeseriesを1つのテーブルに保存したい。 表を参照timeseries table Evry列はtimeseriesを1つ保存します。 列名は、他のテーブルの自動インクリメント値です。他のテーブルは、timeseries名とオプションのデータを保持します。MySQLのinnoDBの最大カラム数を増やすことはできますか?

+3

プライマリIDを参照する複数のテーブルをメインテーブルに使用し、JOINでローを返すことを提案する –

+5

本当に多くのカラムが必要ですか?どうして?垂直に行く方法はありませんか? –

+4

[XY問題](http://meta.stackexchange.com/q/66377/145161)を避けるために、*なぜ*あなたが4000カラムが必要かに関する情報を少し質問を拡大できますか? –

答えて

0

私はInnoDBのカラム数を増やす方法について知らないです。他の人がコメントしたように、複数のテーブルにわたってJOINを使用すると、より多くのデータを保持することができます。

0

ストレートな答え:いいえ。代わりに何をするか

あなたは、列にわたって値の配列をしていない広がりれている場合。 2つの部分で別のテーブルを作成してください。PRIMARY KEY - テーブルのPKとそれがどの配列要素であるか

多くのオプションの列がある場合は、それらをJSON文字列にシリアル化して単一の列に配置します。非オプションの列は実際の列として保管してください。

他のパターンであればご説明ください。

カラム数に制限がある理由は複数あります.1つは「スキーマ設計が悪い」という理由の1つです。

-1

4000の時系列を1つのテーブルに保存したいと思います。 Auto Incrementオプションを使用して他のテーブルのプライマリキーによって生成された列名。ここに私の時系列のテーブルがあります。 enter image description here

関連する問題