2017-01-27 40 views
0

我們有Oracle 12c數據倉庫,其中包含ETL工具informatica。我們用於小時監測的CDC表很少。由於這些表中的數量增加,我們正面臨報告查詢的性能問題。是否在CDC表上創建報告索引對CDc表有不利影響。處理這種情況的最佳方法是什麼?CDC表上的索引

問候

+0

您提議的解決方案(創建索引)不知道,或者至少列舉的問題。你能爲你的慢查詢產生一個SQL Monitor報告嗎? – BobC

+0

你需要更詳細地解釋。請回答下面「答案」中的問題和/或詳細討論有問題的會話和疑問...... –

回答

0

嗯不幸的是疾病預防控制中心是與Informatica廣泛使用的名詞,通常指的是其PowerExchange將實時工具,並可能導致在你的問題有些含糊不清。

cdc表是指你每小時運行一次查詢的源表,以查看小時的增量?如果是這樣的話,那麼您的問題與Informatica的行爲無關並將索引編制爲優化此查詢的表將需要全面分析,同時考慮到對源系統日常事務(Oracle分析)的任何性能影響。

如果通過cdc表您指的是每小時批次的目標表,那麼您將需要權衡提高報表查詢性能的好處與減慢每小時工作的缺點(您不能執行批量加載在包含索引的表上,任何Oracle插入查詢將運行得越慢,表的索引越多......您可以通過在每次小時工作運行時刪除索引並在最後使用預查詢和後查詢重建索引來解決此問題,但是我沒有看到你將如何從報告的角度脫離在線日期)

當然,這一切都取決於你的小時工作是如何工作的(即它只是做插入或它插入更新和刪除)。

報告和Informatica的一批更廣泛的描述,將有助於

+0

您如何知道索引會使表現更好? – BobC