在SAP Sybase ASE 15.5数据库上。
UNION工作很慢
select col1,col2,col3
from table1(INDEX nn MRU),table2 (INDEX hh MRU)
where key1=key2
UNION
select col1,col2,col3
from table3(INDEX pp MRU),table2 (INDEX ll MRU)
where key4=key3
表1和表3很小(每个10个记录)
表1和表4 - 非常大(每个6800n记录),我只需要活动记录,我们在每个大表中都有1,500万个记录,
实际上,我尝试了单独的查询。同样慢。即使我清除非活动记录或选择活动记录到不同的表,它仍然需要很长时间。昨天我在table1中重建了一个索引,但它没有帮助。
问题在于我无法通过公司规则
删除非活动记录答案 0 :(得分:0)
我的猜测是你的问题不是联盟,而是与一个有6500万行(两次)的表的连接。如果你确定工会是你的问题,为什么不做两个单独的查询呢?
您还可以添加新表来保存非活动记录并清除活动记录表。我不知道你有什么其他应用程序逻辑,但这会加快这个查询。