我正在爲我工作的公司創建一個簡單的業務分析應用程序,並且有一個來自過去6年的銷售交易的100mb csv文件,我已將其解析爲多個數據庫。我可以應用什麼優化來加速此查詢?
一個我想在我的應用程序中顯示的數字是營業額和每天每客戶利潤,所以我有一個while循環,看起來像下面這樣:
while(start_date < current_date)
{
SELECT SUM(profit), SUM(turnover) FROM sales WHERE date = @date
}
所以,我運行在每天有幾十萬行的桌子上查詢,因爲每天有6年的客戶。
我總是被認爲可以在數據庫中執行任何工作,這應該是 - 這就是爲什麼我使用SUM查詢來填充列。
我還能做其他什麼優化?目前它正在採取......好吧,我無法告訴你,因爲它已經在8GB四核服務器上運行了最後一個小時,並且看起來在2-3%左右。
我正在使用SQL Server Compact Edition,它是C#/ .NET中的winforms應用程序,但數據庫顯然是此處的瓶頸。
這就是我正在做的更新。我可能應該解釋說,在我原來的問題中 - 真正的問題是關於如何優化和加速最初的查詢,因爲它需要多年的時間。 :) – Anonymous
你有索引日期列嗎? – pQd