• 締切済み

MySQLのfield数の上限について

MySQLでfieldを2916個作ろうと思ったのですが、上限が1000個なのか、1001個目を作ろうとすると下のようなエラーが出ます。 ERROR 1005 (HY000): Can't create table 'features.#sql-1664_18' (errno: 139) featuresというのはデータベース名です。上限をなくす、または大きくする方法があれば教えて下さい。よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

2916の項目が複合的にすべて連携しあいながら検索・集計する必要があるのでしょうか? ただの履歴でしかないようなデータはまとめてblobで1項目に流し込んでしまうとか 運用の方法でなんとかなるのでは?

amiamiamino
質問者

お礼

ありがとうございます。データを小さくする方法も考えてみます。

回答No.1

データベースエンジンは何をお使いですか? InnoDBであれば、上限1000個 MyISAMであれば、上限4096個 これらはシステム上の制約なので、大きくすることはできません。 ※ただし、MySQLのバージョンで変わる可能性有り。 余談ですが、そんなに項目数が多いと、いろいろ大変ですよ・・・。

amiamiamino
質問者

補足

情報ありがとうございます。MyISAMに変えてみたところ、2410個までは作れたんですが、メモリが足りないのか、それ以上できませんでした。 項目を減らす方法も考えてみようと思います。

関連するQ&A