80lacのレコードを持つメインテーブルがあります(たとえば、TABLE:MAIN_TABLE)6か月で登録される約10の基準に一致するすべてのレコードを見つける必要がある多くのクエリを実行したい(11 lac)
2列(col1、col2)に複合インデックスを作成しましたが、クエリの実行時間は約30〜50秒です。
このテーブルには約12のインデックスと約60の列があります。Explainを使用すると、5102行が検査され、その使用インデックスが表示されます。
私が使用するソリューション:このテーブルでクエリを実行すると、インデックスが1つだけで、過去6か月のレコードと限られた列(12)を持つ新しいテーブル(MAIN_TABLE_ACTIVE)を挿入するトリガーを作成することにしました。結果は2の順序で表示されます。 -6秒。
質問:80lacの代わりに11lacのテーブルを使用するので、これは最良のアプローチですか?
欠点:トリガーのオーバーヘッド:-(
新しいアプローチを提案するか、この問題の私のアプローチについてコメントしてください。