MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。
Q&A
解決済
2回答
399閲覧
総合スコア26
0グッド
0クリップ
投稿2019/12/22 04:02
0
仮に、1~10程度までしか入らないような、tinyintで十分なカラムがあったとします。 このカラムにbigintを指定した場合、具体的にはどのような問題が発生するのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
ベストアンサー
Orlofskyさんの回答以外の点の補足です。
「不正データが入った時のリスク」以外の観点ですと、DB上で確保するストレージ量が変わります。
参考: https://dev.mysql.com/doc/refman/5.6/ja/integer-types.html
→tinyintだと1バイトですが、bigintだと8バイトになります(実際に登録されている数値が「3」等の「1バイトで表せる値」だったとしても、bigint型だと8バイト必要です)。
特に、データ量が厳しい環境の場合は(大量のデータを保持するテーブルのカラムだったり、逆に、DB自体の容量が少ない、など)、必要十分な設定にしておいたほうが、無駄はなくなります。
投稿2019/12/25 04:43
総合スコア696
tinyint なら桁あふれでエラーになるべきデータが間違って入ってきても、bigint にしていたためエラーが発覚せずに、後日データの修復ができなくなってからバグが発覚するかも?もしくはバグに気が付かないまま歳月が過ぎるとか?
テーブル設計の段階でテーブル設計書を用意するはずですから、MySQL ALTER TABLE の例 でテーブル設計書に合わせましょう。
投稿2019/12/22 05:23
総合スコア16417
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.36%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
MySQLにて、tinyintを使うべきカラムにbigintを指定した場合、どのような問題が発生しますか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。