1、 对后续用到的表建立索引(注意在插入数据之前建立或者在插入后建立但是要runstats)
说明:插入之前建立的话,在表插入数据的过程中,索引也随着更新,这样的话需要较大的日志空间,因此速度会比较慢,可以采用不计日志的方式插入;数据差完之后再建立索引的话,该表的日志统计信息没有更新,因此执行计划会很差,用不到索引,runstats on tabble asiainfo.aaaa and indexes all之后,索引统计信息就会更新,这样执行计划会考虑到使用索引,因此速度快。
2、将比较大的表建在多节点的表空间上,同时建好索引
说明:现有的db2数据仓库每个节点使用2个CPU,4G内存,DIM表空间计划是存放维表的表空间,因此是单节点的。在使用这个表空间的中的表的时候,最多只会用到2个CPU,4G内存,加上其他的表空间也都要用到这两个CPU和这4G内存,因此资源比较有限。建议较大的表不要放在这个表空间中,而是建立好分区键,放在多节点的表空间中,这样检索这个表的时候32个节点同时检索,最后汇总到0节点上进行展现,速度当然会非常的快。另外,虽然32节点并行性好,但是如果建立好索引的话,速度会更快!!
3、将插入的表使用不计日志的方式插入
说明:数据库为了保证数据的一致性和可回退性,插入、更新或者删除数据的时候要计日志,这样在失败的时候可以回退,但是如果并发较多或者操作非常大的话,会导致争抢日志的情况,导致操作非常缓慢。如果使用不计日志的方式进行插入、更新或者删除操作的话,日志使用极少,但是如果操作失败的话是无法回退的,这样一致性得不到保证,这个表只能删除重建!!!!
4、将表建立表级锁,减少锁数量的使用
说明:数据库的锁的最大数量是有限制的,并且每个锁都要占一定的内存,因此如果锁的数量非常多,使用的内存也就多,导致资源紧张。
5、建立临时表的时候尽量只插入用的到的数据,不插用不到的数据。
说明:程序中好多地方为了提高速度,将用到的数据先插入到一个临时表中,但是插入了非常多的没有使用的数据,这样导致临时表也非常大,所以尽可能的只向临时表中插入用的到的数据,并且尽可能的使用索引,可以大大的提高速度。
6、关于左关联的一点使用心得
在on的条件里面尽量的只写关联条件和对左关联的表作限制,而对主表的限制不要写在这里。如果写在里面的话,不但速度非常慢,而且可能会出现莫名其妙的结果。
分享到:
相关推荐
db2数据库性能优化小技巧
本文介绍了DB2数据库优化的几条策略,并着条分析。
本文介绍了DB2数据库优化需掌握几条基本策略。
DB2数据库性能调整和优化(第2版)侧重于介绍DB2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、I/O性能、内存、应用及数据库才能快速找到问题根源;深刻理解DB2的锁及并发机制、索引原理、数据库...
db2数据库安装包 db2数据库链接服务器驱动 db2数据库安装方法
DB2数据库性能调整和优化 - db2优化器
db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训文档db2数据库培训...
db2数据库优化技巧,个人总结版
DB2数据库性能调整和优化
JDBC连接DB2数据库需要的jar包 JDBC连接DB2数据库需要的jar包 JDBC连接DB2数据库需要的jar包
DB2数据库优化针对数据库的runstat(运行统计)和reorg(重组)进行数据库优化
DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册DB2数据库用户手册
该资源为日常用的DB2数据库命令,包括一些注意事项(例如启动数据库,停止数据库什么的,最基础的),个人觉得蛮好用的,分享一下
莫慌,需要激活目标数据库 首先查看是否有活跃的数据库 命令:db2 list active databases 如果没有,需要对目标数据库进行激活设置 命令:db2 activate database db_name 然后再次使用上一条命令,就可查看到当前已...
DB2数据库设计与性能优化,关于db2性能优化的最佳方案
DB2数据库的对于查询语句的优化,对于DB2数据库的优化,语言的优化,
远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库远程连接db2数据库
Db2数据库操作的常用命令列表, Db2数据库操作的常用命令列表
db2数据库性能调整和优化,非常好的一本书,推荐给大家