2012-10-04 68 views
0

我有一個主表與80lacs記錄(說表:MAIN_TABLE) 我想火許多查詢,我需要找到匹配的約10項標準是在6個月(11個LACS)查找重複的表格數據:優化的方式?

我註冊的所有記錄已經在2列(col1,col2)上創建了一個複合索引,但是仍然有查詢在大約30-50秒的時間內通話。

這張桌子上約有12個索引,約有60個索引。 當我使用解釋,它顯示5102行將被檢查和它的使用指數。

解決方案我使用:我決定創建一個觸發器,將插入到這個只有一個索引和最近6個月的記錄和有限列(12) 新表(MAIN_TABLE_ACTIVE)當我在這個表上查詢結果是按照2-6秒的順序排列。

問題:這是最好的方法,因爲我使用11lacs而不是80lacs的表?

缺點:開銷triggeer :-(

提出任何新的方法或者對我這個問題的方法如果您不需要實時顯示數據請評論

回答

0

我已經使用了相同的表格,確保我按索引順序獲取記錄

0

,您可以使用另一張桌子上會有所需的數據(類似於你用觸發器創建的桌子)。你可以用一些日常的cron來填充這個小桌子。

如果你需要實時顯示數據,那麼你可能不得不重新瀏覽你的模式,因爲這張桌子上的實時計算不是一個好主意。

+0

由於我的要求,我無法使用cron。 如果我想要實時數據,問題是什麼? – chicharito

+0

你不覺得觸發器會影響你的寫操作。 – WordsWorth

+0

我只想寫一個觸發器只在奴隸,而不是在主人 – chicharito