技术开发 频道

深度解析DB2数据统计与分析系统优化

【IT168 技术】  DB2数据统计与分析系统应该如何优化呢?可能很多人都提到过这个问题,下面就为您介绍DB2数据统计与分析系统优化的方法,供您参考。

  结合DB2数据库数据统计和分析系统以及以上所述的优化方法,得出了对DB2数据库统计和分析系统的优化方法。

  (1)DB2数据统计与分析系统采用对后续用到的表建立索引的方法。插入之前建立的话,在表插入数据的过程中,索引也随着更新,这样的话需要较大的日志空间,因此速度会比较慢,可以采用不计日志的方式插入;数据插完之后再建立索引的话,该表的日志统计信息没有更新,因此执行计划会很差,用不到索引,更新索引统计信息,这样执行计划会考虑到使用索引,因此系统效率高。

  (2)DB2数据统计与分析系统将比较大的表建立在多节点的表空间上,同时建立好索引。假如db2数据仓库每个节点使用两个CPU,4G内存,DIM表空间计划是存放维表的表空间,因此是单节点的。在使用这个表空间的中的表的时候,最多只会用到两个CPU,4G内存,加上其他的表空间也都要用到这两个CPU和这4G内存,因此资源比较有限。DB2数据统计与分析系统将较大的表不放在这个表空间中,而是建立好分区键,放在多节点的表空间中,这样检索这个表的时候32个节点同时检索,最后汇总到0节点上进行展现,系统性能当然更加优越。

  (3)DB2数据统计与分析系统中将插入的表使用不计日志的方式插入。数据库为了保证数据的一致性和可回退性,插入、更新或者删除数据的时候要计日志,这样在失败的时候可以回退,但是如果并发较多或者操作非常大的话,会导致争抢日志的情况,导致操作非常缓慢。如果使用不计日志的方式进行插入、更新或者删除操作的话,日志使用极少,但是如果操作失败的话是无法回退的,这样一致性得不到保证,这个表只能删除重建。

  (4)为表建立表级锁,尽量减少锁数量的使用。因为数据库的锁的最大数量是有限制的,并且每个锁都要占一定的内存,因此如果锁的数量非常多,使用的内存也就多,导致资源紧张。

  (5)建立临时表的时候只插入用到的数据,而不插入用不到的数据。程序中好多地方为了提高速度,将用到的数据先插入到一个临时表中,但是插入了非常多的没有使用的数据,导致临时表也非常大,所以尽可能只向临时表中插入用的到的数据,并且尽可能的使用索引,可以系统性能得到优化。

 

0
相关文章