私はその愚かな質問を知っていますが、私はcharの代わりにint値を保存すると良い習慣を知りたいと思います。データベースintまたはcharの値を保存するための良い方法は何ですか?
データベースを週に保存したいとき。
データベースにchar値を保存すると、より説明的なものになると思います。 だから、どれがいいのか、なぜですか? パフォーマンスに問題はありますか?
私はその愚かな質問を知っていますが、私はcharの代わりにint値を保存すると良い習慣を知りたいと思います。データベースintまたはcharの値を保存するための良い方法は何ですか?
データベースを週に保存したいとき。
データベースにchar値を保存すると、より説明的なものになると思います。 だから、どれがいいのか、なぜですか? パフォーマンスに問題はありますか?
char
はそれほど説明的ではありません。その値をデータベース内の何かに使うつもりなら、それは何とか変換する必要があります。
最大値が52/53(week/isoweekに応じて)になる場合は、tinyint
を使用してください。それ以外の場合はinteger
data typeを使用してください。
もう1つの潜在的な問題はソートです。週に並べ替える場合は、先頭のゼロを格納して、char
データ型を使用する順序に並べ替えるか、1, 11, 12..
の並べ替えのままにしますか?問題イスト
この文:
私たちは、データベース内のchar値を保存する場合は、そのより説明的だと思う
データベース内の値は、記述なるように設計すべきではありません。
は常に適切なデータ型に値を格納する必要があります。
あなたは違いを計算する必要があると想像してください。文字列を分割/解析し、数値型にキャストし、計算を行い、出力を再フォーマットする必要があります。
説明文は、プレゼンテーションレイヤ、レポート、フロントエンドとの関連でのみ使用してください。
お返事ありがとうございます。 –
文字列データを文字列として保存します。数値データを数値として保存します。データが整数の場合は、整数として保存します。これは困難でも直観的でもありません。 –
この記事では間違ったデータ型を使用する際の問題点を説明しています。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/12/bad-habits-to-kick-using-the-wrong-data-type.aspx –
あなたの現在の回答は素晴らしいです。個人的には、どちらが良いかを判断できません。そのため、私は両方をアップvotedしました。彼らが欠けているのは、Sean Langeのコメントで提供されているリンクだけです。 Aaron BertrandのBad habbitsシリーズは、データベースを扱うすべての人にとって必読です。 –