2016-06-12 71 views
0

在所有的SQL表中,我使用的是帶有名稱id的增量索引。我不確定自己是否正確,因爲我聽說有些SQL服務器將它的記錄增加爲默認值。我是對的?如何在不同的SQL服務器中獲取這些默認增量字段值?增量表索引

另一個問題,如果我使用我自己的ID - 我應該使用什麼數據類型的字段?目前我使用的是int類型。

+2

請你標記相關的RDBMS – TheGameiswar

+0

的第一個問題是在redpective手冊中有據可查。第二個答案取決於您的業務需求。 – Shadow

+1

如果你真的在使用MySQL,SQL Server,PostgeSQL和SQLite,那應該在你的問題中解釋。 –

回答

0

對於SQL Server,你是絕對正確的。聚集索引具有增量標識ID列是非常好的做法。
但是,這可能取決於您的業務流程。在表中出現大量負載的情況下,您可能會聚集索引爭用。在這種情況下,您可能必須使用GUID或特殊情況,但這種情況非常罕見。

第二個問題:您必須使用整數作爲您的ID,大小取決於表中記錄的數量。例如,如果您有表「性別」,則可以使用「TINYINT」(1字節)。它包含0到255之間的值。
如果您有表格「工作時段」(對於日常記錄),您可以使用「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)