0
SQL分區函數中使用的非確定性函數如何,它們是否有用?SQL分區函數中的非確定性函數
SQL分區函數中使用的非確定性函數如何,它們是否有用?SQL分區函數中的非確定性函數
MSSQL允許非確定性的功能分區功能:
CREATE PARTITION FUNCTION MyArchive(datetime)
AS RANGE LEFT FOR VALUES (GETDATE() – 10)
GO
這是否意味着舊的然後10天記錄會自動移動到存檔(第一個)分區?當然不是。
數據庫存儲分區模式設置的日期並以最多(邏輯)的方式使用它。 可以說,在2000-01-11上設置了上面的模式,這使得分隔日期2000-01-01。 當您查詢日期低於初始分隔日期(boundary_value - 2000-01-01)的數據時,您將只使用歸檔分區。 當您查詢日期高於當天的數據減去10天(GETDATE() - 10)時,您將只使用當前分區。 所有其他查詢都將使用這兩個分區,即查詢日期低於當前日期減去10天但高於分隔日期(2000-01-01)的數據。
這意味着隨着時間的推移,使用這兩個分區的日期範圍越來越大。而且,如果確定性地將分區設置爲分隔日期,則會更好。
我不希望任何情況下,這是有用的。