我有一個非常大的桌子(超過140萬行,大小約230 gb)。有一列名爲「date_dim」的聚集索引asc。表格中存儲了2015年的所有數據。性能問題 - 在非常大的桌子上每月選擇firstdate
我的目標是獲取存儲數據的月份的第一個日期。所以一月份的數據可能在5日開始。所以我必須建立一個'動態'查詢。
要獲取這個數據,我創建了以下查詢:
SELECT
*
FROM (
SELECT
date_dim
,row_num = ROW_NUMBER() OVER (PARTITION BY MONTH(date_dim) ORDER BY date_dim ASC)
FROM myTable_2015 WITH (NOLOCK)
) AS s
WHERE
row_num = 1
ORDER BY
1
現在我的問題是,查詢有一個很長的時間來獲取數據。是否有其他選項可以創建性能更好的查詢?你有任何性能建議選擇這樣的大表我的具體情況?
其實我不能對錶本身,只有「讀」訪問的任何變化......
廣東話,你剛剛從日期表把它隔離開來? – RegBes
不,因爲我需要每月存儲數據的第一個日期... –