Trafodion 性能优化之查询性能

查询性能的优化很难用一篇文章来描述,一般状况下要根据具体的缘由分析。下面是一些经常使用的用于优化查询性能的方法,
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的问题也能够提高性能。web