2013-05-21 64 views
0

一大組的記錄我有一個表[ID,ITEM_NAME,ITEM_PRICE,ITEM_STATUS,ITEM_TYPE,ITEM_OWNER,ITEM_DATE]計數超過在DB

應用程序可以查詢該表中包含關於項目的任何數量的檢索條件日期和/或項目業主等

在結果,我還需要在不同的ITEM_STATUS狀態來獲取計數。

它往往造成超時,當我試圖讓基於狀態的計數。

如何爲這種情況下,大容量應用程序處理。說Y郵件。我已經統計了收件箱中有多少人,有多少人正在閱讀/未發送/已發送,哪些不是。怎樣才能實現這樣的體驗?

+0

你可以嘗試在各列+的ID,如(ITEM_STATUS,ID),(ITEM_NAME,ID)等,我建議增加ID列索引添加索引,因爲我不知道有多少不同值可能存在於某個特定列中,而列上幾乎不同值的索引可能會導致DELETE運行緩慢。分享並享受。 –

+0

@BobJarvis它不會影響插入?他們會變得太慢 – Sripaul

+1

我不相信這會導致任何性能問題。我有搜索表,其中每一列(約40或50列,如果我沒記錯的話)每個都有一個單獨的索引。表現很好。 (我們建立了一個複雜的系統來更新後臺中的搜索表,然後當我們發現它不需要時將它扔掉)。在關係數據庫每天工作超過20年的時間裏,我無法想起索引導致INSERT或任何其他操作出現性能問題的情況,因此我不建議擔心這一點。分享並享受。 –

回答

0

除了索引和位圖索引是這樣的,如果你能處理的併發問題在維護他們,考慮物化視圖來覆蓋最常見的聚合級別的東西是最靈活和高性能。

定義多級物化視圖可以給你幾乎即時的響應時間,甚至允許在HAVING子句有效的索引。