查询性能的优化很难用一篇文章来描述,通常情况下要根据具体的原因分析。下面是一些常用的用于优化查询性能的方法,
1. 在所有表上更新统计信息。在知道查询负载的情况下,先编译所有的查询语句并尽可能把丢失哪些统计信息的告警问题解决掉。
2. 如果查询可能花费很长时间或者是一个频繁执行的短查询,在执行前通过Explain先查看执行计划是否正确。
3. 使用Explain命令仔细分析执行计划中明显速度慢的问题点。这些问题点通常是由于缺少统计信息而导致不正常的执行计划。Showstats命令可以用来查询数据的统计信息(如表的基数,列的UEC等信息)。
4. 使用GET STATISTICS查看语句具体的运行时统计信息,以此来查询哪一个操作是最耗时的。对于扫描(Scan)和数据交换(Exchange),I/O时间是十分关键的一项。可以使用DEFAULT或PERTABLE选项来查看I/O。
5. 注意执行计划中占用内存过多的那些操作(如SORT,HASH JOIN)。从GET STATISTICS的输出可以看出是否这些操作会导致内存overflow,如果能避免overflow的问题也可以提升性能。
Trafodion 性能优化之查询性能
最新推荐文章于 2020-10-22 18:27:41 发布