在所有SQL表中,我使用名称为id的增量索引。我不确定我是对的,因为我听说一些SQL服务器将它的记录作为默认值递增。我是对的?如何在不同的SQL服务器中获得这些默认的增量字段值?
另一个问题是,如果我使用自己的id,我应该为这个字段使用什么数据类型?目前我使用的是int类型。
发布于 2016-06-13 03:46:44
对于SQL Server,您是完全正确的。有一个增量标识ID列用于聚集索引是非常好的做法。
但是,这可能取决于您的业务流程。在大量加载到表中的情况下,您可能会发生集群索引争用。在这种情况下,您可能需要使用GUID或特殊场景,但这种情况非常少见。
第二个问题:您的ID必须使用整数,大小取决于表中的记录数。例如,如果你有表“性别”,你可以使用"TINYINT“(1字节)。它包含从0到255的值。
如果你有表格"Work Period“(对于每日录音),你可以使用"SMALLINT”(2字节)。它包含从-32,768到32,767的值。
在大多数其他情况下,您可以使用类型"INT“
如果你的老板说这还不够,你可以使用"BIGINT",但在这种情况下,你可能会与争执作斗争。
下面是如何声明这些值的方法:
ID TINYINT IDENTITY(0,1)
ID SMALLINT IDENTITY(-32768,1)
ID INT IDENTITY(-2147483648,1)
ID BIGINT IDENTITY(-9223372036854775808,1)https://stackoverflow.com/questions/37772951
复制相似问题