我有一个包含 80lacs 记录的主表(比如 TABLE:MAIN_TABLE)我想触发许多查询,在这些查询中我需要找到与 6 个月内注册的大约 10 个条件匹配的所有记录(11 lacs)
我在 2 列 (col1, col2) 上创建了一个复合索引,但是查询仍然在执行大约 30-50 秒时的通话时间。
这张表上有大约 12 个索引和大约 60 列。当我使用解释时,它显示将检查 5102 行及其使用索引。
我使用的解决方案:我决定创建一个触发器,当我对此表进行查询时,该触发器将插入一个新表(MAIN_TABLE_ACTIVE),其中只有一个索引和最近 6 个月的记录和有限的列(12),结果按 2 顺序排列-6 秒。
问题:当我使用 11lacs 表而不是 80lacs 表时,这是最好的方法吗?
缺点:触发器的开销:-(
建议任何新方法或请评论我解决此问题的方法。