
No.2ベストアンサー
- 回答日時:
おそらくTEXT型のせいでカラム数が若干少なくなっているかと思います。
MySQLのサイズ計算は実際は複雑で詳細は下記をご覧頂き、確認されてはいかがでしょうか。
しかしデータ型を多少変更したことろで限度は2千数百といったところだと思います。
http://dev.mysql.com/doc/refman/5.5/en/column-co …
で、やはり現実的にはテーブルを垂直分割するしかないかなと思います。3000カラムでしたら1500カラムの2テーブル、あるいは1000カラムの3テーブルあたりに分けてパフォーマスを見られてはいかがでしょう。(もちろんデータを入れた際にレコード長をオーバーしないかどうかも含めて)
回答ありがとうございます。
CSVに出してもカラムが多すぎてExcel管理もできず、現テーブル構造でもあまりいいものではない上に、やはり1000カラムの3テーブルにせざるをえないかと考えていたので、アリかナシか、というところで無くはない、という同じような意見をいただけただけでも助かります。
また参考URLもありがとうございました。
No.1
- 回答日時:
きちんと正規化して構造を整理すれば1000を超えるようなカラムに
なるなんて考えられませんが?
この回答への補足
回答ありがとうございます。
質問とは関係ないかと思いましたが補足として状況説明です。
1つのレコードに対して管理する似たようなデータが3000ほどあり、正規化して外に出すことで構造上はきれいになるのですが、表を作るのに3000回JOINをする、またデータのテーブルのレコード数が数千万になってしまいます。
当初管理するデータは100程度でしたので(id、no、data)のようなテーブルを作成してJOINしていましたが、以前1000程度に拡張したときにパフォーマンスの問題が生じ、1テーブルに格納する形(id、data1、data2、、、data1000)に変更しています。
今回、それを3000まで拡張する必要が出てきたところで首記問題が生じてきた、という具合です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
構造が異なる二つのテーブルをu...
-
カラムとコラムの使い分け
-
UNIONする際、片方テーブルしか...
-
ホームページを作ろうと思いま...
-
AUTO_INCREMENTに0はダメ?
-
GREATESTで NULLをスルーする方...
-
now()かCURRENT_TIMESTAMPか
-
ROUND関数で、四捨五入ができな...
-
ドロップダウンリストの連動し...
-
MySQL(5.5)1テーブル内のカラ...
-
【SQL】select に ワイルドカー...
-
MYSQLで全てのカラムから検索す...
-
カラムをコピーして、新規カラ...
-
SQLで、行ごとのとある要素を比...
-
INDIRECT関数の代替方法は?
-
DBの定義のサイズを大きくし過...
-
他のシートの検索
-
インデックスについて
-
type date にnullをinsert
-
Accessで複数(3以上)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一部のカラムでdistinctし全て...
-
SELECT文で、指定カラム以外の...
-
UNIONする際、片方テーブルしか...
-
ホームページを作ろうと思いま...
-
AUTO_INCREMENTに0はダメ?
-
SQLでカラムを追加し、条件に合...
-
now()かCURRENT_TIMESTAMPか
-
カラムとコラムの使い分け
-
(初心者)MySQLやmaraDBで、crea...
-
GREATESTで NULLをスルーする方...
-
構造が異なる二つのテーブルをu...
-
sql , insert で空行(全ての列...
-
MYSQLで全てのカラムから検索す...
-
エクセルかワードで家系図を作...
-
Excel VBA
-
カラムをコピーして、新規カラ...
-
Mysql DATE型のDEFAULT値
-
ドロップダウンリストの連動し...
-
MySQLで論理名を取得する方法
-
MySQL(5.5)1テーブル内のカラ...
おすすめ情報