General information
Forum:
Microsoft SQL Server
Environment versions
SQL Server:
SQL Server 2000
>>>I need to record a 4 bytes unsigned value in my table (range 0 - 4,294,967,295). Currently I am using bigint to represent this value but I am wasting around 3 bytes per record (especially considering that a record is 2100 bytes).
>>>
>>4 bytes, but it can to be irrelevant because SQL have a 8060 page bound.
>
>Could you please elaborate on this?
>
except for text,image,...
-SQL store rows into a 8k page.
-a row can allocate 8039-8060 bytes
-a row it has to be inside a page
then a row with 1612-2009 bytes they will occupy the same space.
but every field indexed uses space on index tree pages,
and the clustered index use space on every not clustered index
as bookmark.
>>
>>
>>>Anywho, do I have any other options than to use bigint? Does MSSQL have an unsigned field type?
>>
>>no
>>
>>>I know I could use binary(4) but the field is PK so I would like it to be a "visible" type.
>>
>>
>>
>>>
>>>Are there any problems using binary(x) as PK?
>>>
>>
>>no, but
>>how are they created?
>
>The 4 bytes value is created by the "widget" manufacturer in China or Mexico (and is said to be unique).
>
>>
>>>I just had a lot of thoughts running through my head while eating lunch.
>>>
>>>Einar
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only