私は約 2 年間 SQL を扱ってきましたが、常に頭の中にありました。
ベストプラクティスは、列の長さを期待どおりに割り当てると言います
SQL は主キー専用の特定の行を必要としますが、A_i フィールドのベストプラクティスでもあります...しかし、それを割り当てる長さは? 空白のままにすると、デフォルトで11になり、 999,999,999を表します
これは問題ないように思えますが、ベスト プラクティスには、データベースから実際に何も消去しないことも記載されています。削除されたことを表すために 0 または 1 を追加するだけです。これは、アーカイブ/回復の目的のためです.また、ユーザーがクリアしたいものの監査にも使用できます..
次の例を見てください。
私は、データベースから何も削除しないというベストプラクティスに従って、何年もの間存在している Web サイトを持っています。データベース/Web サイトのトラフィックが非常に多く、1 日に多数のユニーク ユーザー/訪問者がいます。
ここで、SQL のデフォルトの長さである 11 のままにしておくと、テーブルが最大長に達し、別のユーザーが登録しようとするとどうなるでしょうか? エラーがスローされて続行されないため、新しいユーザーには少量のダウンタイムが発生します。理由は、データベース管理者が SQL にログインして長さを変更する必要があるためです..これはそれほど手間ではありませんが、IS初期の開発中に避けることができる努力..
私がしていることは、テーブルを作成するときに255の長さを与えることです。これは、心の奥底で「これは良い習慣ではない」と言っていますが、上記の例の非常にわずかな可能性を回避します。
text
指定された長さを持たないフィールドと比較すると、なぜこれは A_I フィールドに関して同じにできないのでしょうか。
誤解しないでください。利用可能なデータ型を完全に理解しています。
私はグーグルとSOの両方で多くの調査を行いましたが、結果は現在の長さを増やすためにテーブルを変更することについての質問を指摘しています. これは私が求めているものではありません。
全体:
全体として、私が尋ねようとしていることは次のとおりです。A_I フィールドの理想的な長さは? 長さが最大になった場合にエラーがスローされるわずかなリスクを最小限に抑えるだけでなく、ベストプラクティスも念頭に置いてください。