11,849
社区成员
发帖
与我相关
我的任务
分享
SELECT [name],[max_length] FROM sys.types AS t WHERE t.is_user_defined=0
ORDER BY t.name
只拿最简单的整型来说吧。
有:
TINYINT,SMALLINT,INT,BIGINT
为什么不统一用 bigint ?
一是如果你想兼容这些的类型, 只能用最大的类型, 而最大的类型占用的空间肯定就多了, 浪费。
二是越小的类型, 在添加索引时, 占用的空间越小, 而且效率也越高。
兼容就是损耗, 切记!
1. 整数类型 int、bigint、smallint、tinyint
数据类型 范围 存储
bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 8 字节
int -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 4 字节
smallint -2^15 (-32,768) 到 2^15-1 (32,767) 2 字节
tinyint 0 到 255 1 字节
又如 char,varchar, nchar,nvarchar 他们所存的内容,都可以是字符串,但是,又各有区别的。