Facebookのようなサイトでは、int
またはvarchar
を使用していますか?たとえば、Facebookの投稿の数には、何十億もの数があります。投稿IDごとにint
を使用するか、varchar
を使用しますか? intの最大値は2,147,483,647なので、私は混乱しています。助けてください、ありがとう。多くのレコードでVarcharまたはint?
答えて
BIGINTもあります。
十分以上だ署名された範囲-9223372036854775808
9223372036854775807の符号なし範囲は0 18446744073709551615.に
である:)
ユーザーIDはどうですか?それは 'int'になると思いますか? –
@ JasonBaleは一定期間のみ有効です。または、後でPSY江南スタイルのビデオクリップで状況を得ることができます。 Googleは、どんなビデオでもそれほど多くのビューに達するとは決して考えなかったと述べています。これは完全な説明です。 – Rulisp
@Sammitchに述べたように、UUIDは、長い値を生成することができますこれは32ビットintよりはるかに広い範囲を持っています。 UUIDは128ビットの値を生成します。
また、プライマリキーは複合プライマリキーにすることができますので、可能性の数を大幅に増やすことができます。
あなたはユーザーIDについて尋ねました。私は、署名された32ビットINTユーザーIDの値が不足しているサイトについて相談しました。その理由は、バグのために、作成された新しいユーザーごとに1000以上の値をスキップしていたからです。だから、一度に1を増やしていたユーザーIDよりもはるかに速く値を使い果たしました。
ユーザーIDをBIGINTにアップグレードする手助けをしました。これは、userテーブルと、userテーブルを参照していた他のテーブルが約30個ありました(なぜなら、他のテーブルがまだINTを使用していて大きな値を参照できない場合に、 。
私の答えはInteger overflow what will be nextも参照してください。
実例に感謝します! +1 –
- 1. データベースのフィールド型intまたはvarchar
- 2. ORDER BY <intまたはvarchar>
- 3. 多くのレコードではなく単一のレコードですか?
- 4. VARCHARまたはINTは検証ルールですか?
- 5. ユーザー属性の値は、dbテーブル - intまたはvarchar?
- 6. int(SELECT varchar ...)は機能しますか?
- 7. MySQLで比較するとintにvarcharまたはvarcharに変換する方が速いですか?
- 8. なぜカラムをvarchar(50)からintに変更すると、より多くのスペースが必要です
- 9. Mysqlのcharとvarcharとintのストレージ
- 10. sqlここで、int型のカラム型はVarcharです
- 11. varcharをintに変更してください
- 12. INT対プライマリ・キーのVARCHARデータ型
- 13. MySQLのBLOBまたはVARCHAR?
- 14. の変換エラーデータ型varchar型は、ストアドプロシージャでエラーをintに
- 15. Androidスタジオ_ LogCatの多くのレコード?
- 16. フラスコの管理者、多くのレコード
- 17. 多くのレコードを持つデータベースのアーキテクチャ
- 18. ロード多数のレコードをすばやく
- 19. 多くのレコードを比較するutl_match
- 20. Sqliteまたはコアデータより多くの50000レコードを更新する
- 21. intをvarcharデータ型に変換する
- 22. IntをVarcharに変換する方法
- 23. SQL変換varchar(255)からint(11)
- 24. Varchar 3をintに変換する
- 25. 私はvarchar型とMySQLのテーブルは、それはのような多くのレコード持って提出した単一のクエリ
- 26. SQL Server 2008でVarcharをIntに変換する方法は?
- 27. 流暢Nhibernate 1つから多くの孤立したレコード
- 28. 多くの電子メールアドレスのDNSレコードを変更します
- 29. Laravelは多くのスルーのみが最初のレコードをもたらす
- 30. SQL Serverの2014でvarchar(10)をintに変換する
'BIGINT'は18,446,744,073,709,551,615の値を扱うことができますが、シーケンス生成[例:自動インクリメント]は並列化に対する大きな障壁ですので、代わりにUUIDなどを使用する可能性があります。 – Sammitch
@Sammitch申し訳ありませんが、どういう意味ですか?私は本当に理解していません –
私は["スタック上のこの質問を引用します(http://stackoverflow.com/a/4638170/1415724):*" ... MySQLでBigIntの最大値は18,446,744,073,709,551,615です。 1秒あたりの行数は、あなたが数を使い果たす前に5849年かかります。」* –