4
int
列上的非聚簇索引是否比decimal
或datetime
列上的非聚簇索引更高性能?不同列類型上的非聚簇索引的性能
int
列上的非聚簇索引是否比decimal
或datetime
列上的非聚簇索引更高性能?不同列類型上的非聚簇索引的性能
在某些方面:是的。
INT
只有4個字節 - 所以更多INT
s將適合SQL Server中的單個8K頁面。
DATETIME
使用8個字節 - 因此較少DATETIME
值是在單頁上店,或相同數量的DATETIME
S,你需要更多的頁面,因此你獲得更多的磁盤I/O和性能從而少。
如何很多的差異存在,是由更多詳細的測量,然而 - 對於任何數以百萬計的行,差異最有可能會忽略不計。如果你的查詢並從上DATETIME
列索引中受益 - 我會毫不猶豫地將它(一次:除非你在處理多萬行的表...那麼你可能需要更詳細的調查)
也有許多人們會忽視SMALLDATETIME - 與INT的寬度相同,如果分鐘精度不重要(通常不是),那麼它可以作爲DATETIME的合適替代品。 –