求助:Oracle数据库多个大数据表查询慢的问题
0
Oracle数据库中须实时查询多个表的关联数据,多个表都是百万级的数据,现在是通过试图Union起来再查询,发现查询很慢,满足不了应用的要求,请问各个大侠有没有好的办法,感激不尽!
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
gogodiy - 天善智能数据库专家、Tableau爱好者 2015-10-27 回答
赞同来自:
1.硬件是否有升级的可能。很多时候升级硬件能解决不少问题。
2.分析需求,是否需要那么多的数据量。比如常见的分页,其实看的也就是前10页比较多,那重点就放在前10页数据的提取上。
3.看执行计划,找到瓶颈所在,分析原因是没有索引、索引使用不当、索引列统计信息未更新,或是和其他查询阻塞甚至导致死锁。
4.分析可能的结果集,尽量将减少结果集的表关联放在最前面,提供附属信息的表关联放到后面。
5.个人一家之言——坚决不用视图。Oracle除了物化视图,其他类型的都是虚拟表,就是保存了一段事先准备好的查询代码,而且你还无法确定查询条件,只能提供一个大而全的功能。你查询视图,本质是转化为对这段代码的查询,查询性能根本没什么提高。还不如直接表关联,还能控制代码。你用物化视图的话,刷新视图的开销又吃不消。
老头子 - 专注是唯一的捷径 2015-10-26 回答
赞同来自: