質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

2回答

2112閲覧

MySQLの列数について

u_k_statistics

総合スコア44

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2016/05/10 07:17

MySQLは列数をなるべく少なくしたほうがいいというのを聞いたことがあるのですが、どれほどの列数であれば問題ないのでしょうか?
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

MySQLは列数をなるべく少なくしたほうがいい

このような断片的な言葉で右往左往するのではなく、まずは「どのような背景のもと」なのかを把握しましょう(たとえば、「ソーシャルゲームのバックエンドに使うような超高負荷環境」での話かもしれませんし、あるいは「マシン性能が低い環境下」の話かもしれません)。あなたが直面している環境がその背景と違うなら、何の意味もありません

で、一般的な環境の場合、ふつうに列を作って正規化している分には、そこまで列を増やしすぎて問題となることはありません。InnoDBの場合、TEXTなどを除いて4キロバイトまでですが、これで問題になるほど巨大なテーブルはむしろDB構造的に問題といえるかもしれません。

もちろん、「電話番号1」「電話番号2」「電話番号3」のように列を持たせるとあっという間に増えていきますが、このような非正規な使い方をするのが良くないのは、リレーショナルデータベースである以上、当然の話です。

投稿2016/05/10 08:17

編集2016/05/10 08:23
maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

列数が少ないほうがいいというのがなぜかがわからないので
答えにくいのですが

問題の一つとして
列数が多いとINSERTに時間がかかるようになります。
DBの構造上大量の行データを投入するのはよくあるので
高速化する方法がいろいろありますが、
大量の列データの場合は高速化する方法がありません。

この問題の場合、どの程度まで問題ないかは要件次第となります。
INSERTはほとんどないとか、時間がかかっても大丈夫
というのであれば100列とか200列あっても問題ないかもしれません。
逆に大量にINSERTする必要があるとかレスポンスを早くする必要があるならば
10列とかでも問題になるかもしれません。

投稿2016/05/10 08:37

kutsulog

総合スコア985

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問