使用SQL Server 2014:當我不需要存儲秒時,不使用SMALLDATETIME的任何好理由?
我與幾個大的日誌表工作和他們的一列是數據類型DateTime
的CreateDate
。
有幾個索引基於CreateDate
列。所有表格已經包含大量的行。
問題#1:是否有任何理由不將所有CreateDate
列轉換爲SMALLDATETIME
類型?
問題2:有,現有的DATETIME
數據轉換成SMALLDATETIME
沒有任何錯誤任何安全ALTER TABLE表語句?
問題3:當我使用ALTER TABLE
時,現有索引會根據CreateDate
而發生什麼變化?
根據MSDN,它建議其他數據類型的新工作。這可能意味着該功能在未來版本中可能會被棄用,但他們並未明確表示這一點。 https://msdn.microsoft.com/en-us/library/ms182418.aspx – dfundako
或者,如果您還沒有使用企業版,並且使用頁面壓縮功能,則每次可節省遠遠超過4個字節行。由於問題四捨五入,SMALLDATETIME真的非常糟糕。它不會忽略秒,它可以讓你的時間戳跳到未來。只有很少的日誌可以誠實地說這種精度降低並不重要。 –