sql-server – SQL Server 2008中ID列的最佳类型
我是SQL Server 2008的初学者.表中有一个colunm,如StudentID.
StudentID将是表的pk,它只能是整数,它将是一个巨大的数字. 我的问题是SQL Server 2008中的列StudentID的类型是最好的? BIGINT? 非常感谢. 解决方法您可以使用IDENTITY属性定义一个类型为INT(或SMALLINT,TINYINT,BIGINT)的列:CREATE TABLE dbo.YourTable( ID INT IDENTITY(1,1) ...... 通过此设置,当行插入到表中时,SQL Server将自动生成表的连续ID. 使用INT型,从1开始,您可以获得超过20亿个可能的行 – 这在绝大多数情况下应该是足够的.使用BIGINT,您将获得大约922万亿(922,15个零 – 922,000亿) – 足够你吗? 如果您使用从1开始的INT IDENTITY,并且每秒插入一行,则需要66.5年才能达到20亿的限制…(所以在我看来,这对绝大多数情况来说是足够的! ) 如果您使用从1开始的BIGINT IDENTITY,并且每秒插入一千行,则在您达到922千兆限制之前,您需要一个2.9亿年的想法. INT使用4个字节的存储空间,而BIGINT使用8个字节.特别是如果你处理大量的行和一些非聚集的索引,你希望保持尽可能的小 – 另一个原因,我通常选择INT作为我的“ID”类型(除非我有一个非常强烈的指示,INT将不够…) 在MSDN Books Online中阅读更多(有所有选项). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |