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数据库优化教程 #### 一、引言 随着信息技术的发展,数据库系统在现代企业的信息系统架构中扮演着至关重要的角色。特别是在企业级应用中,如ERP(企业资源规划)、OA(办公自动化)以及CRM(客户关系管理)...
- **从数据表中取指定前几条记录**:可以使用`SELECT`语句结合`LIMIT`子句来获取数据表中的前几条记录。 - **游标的使用**:游标允许应用程序逐行处理查询结果,提供了更灵活的数据访问方法。需要注意的是,在DB2中...
### DB2数据库使用经验积累 #### 一、前言与背景 本文档总结了一系列关于IBM DB2数据库的使用经验和技巧,这些经验主要来源于在首都国际机场和海口梅兰国际机场系统开发项目中的实践经验。项目的运行环境包括IBM ...
DB2C,全称为DB2 for CICS,是IBM提供的一种在CICS(Customer Information Control System)环境中访问DB2数据库的接口。CICS是IBM主机系统中用于处理交易的中间件,广泛应用于银行、保险、航空等行业的核心业务系统...
IBM DB2作为一款先进的关系型数据库管理系统,其内置的优化器能够在处理复杂的SQL查询时提供高效的执行策略。本文将基于《DB2查询访问计划分析与优化—张广舟》这一资料,深入探讨DB2中的查询优化技术,特别是查询...
本主题聚焦于“批量更新历史数据每10000提交一次”的实践方法,这涉及到数据库操作优化、事务管理以及代码实现等技术细节。 首先,批量更新是为了避免频繁的小规模数据库交互,因为每次交互都会带来一定的开销,如...
#### 一、DB2数据库系统结构概览 **1.1 概述** DB2是IBM开发的一款高性能的关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。本指南旨在为新入门的数据业务工程师提供关于DB2数据库的基础知识和实用技巧。...
3. 从数据表中取指定前几条记录:可以使用`LIMIT`或`FETCH FIRST`子句来获取数据表的前n条记录。例如,`SELECT * FROM table LIMIT n` 或 `SELECT * FROM table FETCH FIRST n ROWS ONLY`。 此外,DB2还涉及很多...
3. **从数据表中取指定前几条记录:** 使用`LIMIT`或`FETCH FIRST`子句来获取指定数量的记录。 4. **游标的使用:** 游标是用于处理结果集的指针。可以用来逐行检索结果集中的数据。 5. **类似DECODE的转码操作:** ...
综上所述,通过对上述几种类型的SQL查询进行监控,我们可以有效地提高DB2数据库的整体性能。这些SQL语句不仅可以帮助我们快速定位到性能瓶颈所在,而且还能指导我们制定出合理的优化策略,从而确保数据库系统的高效...
徐明伟在2011年的ITPUB数据库大会上分享了关于DB2性能监控和调优的最佳实践,这一主题涵盖了性能问题识别、监控工具使用、数据分析方法以及具体的调优策略,对于DBA和IT专业人士来说具有极高的参考价值。 ### 性能...
- **取指定前几条记录**:可以通过`SELECT * FROM table ORDER BY column LIMIT n`获取前n条记录。注意,在DB2中,`LIMIT`是标准SQL的一部分。 - **游标的使用**:游标允许按行处理查询结果。使用时需要注意`COMMIT...
数据库优化通常包括以下几个层面: - **查询优化**:通过改进SQL语句,如避免子查询,使用JOIN替代自连接,合理使用索引等。 - **索引优化**:创建合适的索引以加速查询,但也要注意过多的索引可能导致插入、更新和...
这本书可能会探讨如何优化JDBC代码,处理大数据量时的策略,以及如何利用JDBC进行复杂查询和存储过程的调用。 总之,理解和掌握JDBC是成为一名合格的Java数据库开发者的必备技能。通过阅读相关书籍和实践,你可以...
- **关系型数据库**:一种基于表格形式的数据存储方式,其中每个表格由行和列组成,每一行代表一条记录,每一列表示一个特定属性。 - **数据库管理系统(DBMS)**:用于创建、维护和查询数据库的软件工具。 - **事务...
### SQL Server 大表分区方案详解 #### 一、大表分区条件 在数据库管理过程中,随着业务数据的不断增长,单个表的数据...在实际应用中,还需要根据具体业务需求和技术环境来调整分区策略,以达到最佳的性能优化效果。