2011-01-22 3 views
35

私はint(10)を使用していて、Wordpressがbigint(20)を使用していることに気づいただけです - bigint(20)とint(10)をid自動インクリメントに使うのは何ですか? IDカラムにはどちらを使用しますか?MySQL:bigint Vs int

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, 

`id` int(10) unsigned NOT NULL AUTO_INCREMENT, 

感謝。

+0

それはパフォーマンスが低い場合の質問は、次のとおりです。 http://stackoverflow.com/questions/9376610/bigint-mysql-performance-compared-to-int – rubo77

答えて

56

は差が格納できる最大値に純粋である(INT(10)のためのBIGINT(20)と4,294,967,295ため18,446,744,073,709,551,615は、私は信じて) 、MySQL Numeric Typesマニュアルページの詳細を参照してください。

ZEROFILLを使用していない限り、(20)と(10)の使用はほとんど無関係です。 (実際には、格納されている番号のサイズは実際には変更されません。つまり、すべての種類になります)

しかし、現実的には、これらの制限のいずれかに当てはまる可能性は低いすぐに、あなたが本当にアクティブブロガーでない限り。

+6

これは、BIGINTは8つのバイトを消費することに注意すべき記憶域とintの4バイト。 signed(mysql default)intは、20億を超える値を許容します。したがって、ID列の優れた候補となる時間は大部分です。もちろん、カラム型/ストレージが懸念される膨大なレコードセットを実際に扱っていない限り、bigintとintはあまり重要ではありません – virtualeyes

9

唯一の違いは、タイプの範囲です。 INTは32ビット長ですが、BIGINTは64ビット長であるため、123456789123456789(これは、INTとして保存することはできません)のようなより大きな数値を格納できます。

ここMySQLの整数型の完全なリストは次のとおりhttp://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

関連する問題