數據庫ID自增字段用什么類型好


我現在有個表是用自增類型的ID,用的是int,但是發現數據有點多,一天30萬條,那一個月就有一千萬條了,用什么類型好呢??
sql server2005的int究竟是多大呢?

8 个解决方案

#1


用浮點型或者GUID吧 ,如果數據不移植的話,總這么累計的話,肯定會爆的。

int :
int 數據類型可以存儲從- 231(-2147483648)到231 (2147483 647)之間的整數。存儲到數據庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在數據庫里占用4個字節 

#2


oracle用序列的飄過~

Sql Server下:

bigint

從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數據(所有數字)。存儲大小為 8 個字節。

int

從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字)。存儲大小為 4 個字節。int 的 SQL-92 同義字為 integer。

smallint

從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據。存儲大小為 2 個字節。

tinyint

從 0 到 255 的整型數據。存儲大小為 1 字節。

#3


建議用浮點類型或者GUID,不過數據不移植一直這么積累,數值型顯然不行,只能用 guid了 
int 數據類型可以存儲從- 231(-2147483648)到231 (2147483 647)之間的整數。存儲到數據庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在數據庫里占用4個字節 

#4


用bigint吧。

int數據類型所表示的數值范圍從-2^31到2^31-1,也就是說,你可以用int數據類型來表達-2,147,483,648到2,147,483,647(即大約正負二十億)之間的整數。一個int型占用四個字節的存儲空間。

  而bigint可以精確的表示從-2^63到2^63-1(即從-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之間的整數,它占用了八個字節的存儲空間。

#5


引用 1 樓 fox123871 的回復:
用浮點型或者GUID吧 ,如果數據不移植的話,總這么累計的話,肯定會爆的。

int :
int 數據類型可以存儲從- 231(-2147483648)到231 (2147483 647)之間的整數。存儲到數據庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在數據庫里占用4個字節



沒聽說過用浮點型來當自增字段。
GUID還行,但是查詢不太方便。

覺得不夠用,就用bigint

#6


GUID, 有個專用類型叫什么identystring,具體記不清了

#7


引用 1 樓 fox123871 的回復:
用浮點型或者GUID吧 ,如果數據不移植的話,總這么累計的話,肯定會爆的。

int :
int 數據類型可以存儲從- 231(-2147483648)到231 (2147483 647)之間的整數。存儲到數據庫的幾乎所有數值型的數據都可以用這種數據類型。這種數據類型在數據庫里占用4個字節

那就算一直累積,也能用幾十年呢,就用int吧

#8


 bigint

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com