文章摘要
这篇文章主要介绍了DB2数据库编程的技巧和最佳实践,涵盖了从基础操作到高级优化的各个方面。以下是文章的核心内容总结: 1. **DB2编程技巧**: - **建存储过程**:在创建存储过程后,不要使用TAB键,以避免潜在的错误。 - **临时表与游标**:合理使用临时表和游标,注意使用`commit`和`rollback`,明确游标的两种定义方式。 - **字符串操作**:类似`DECODE`的转码操作、`CHARINDEX`查找字符位置、`DATEDIF`计算日期差。 - **UDF示例**:提供了编写用户定义函数(UDF)的示例。 - **自动生成ID**:如何创建包含自动生成`IDENTITY`值的表。 - **处理空值**:防止字段空值的方法。 - **记录数获取**:如何获取处理的记录数。 - **存储过程调用**:存储过程之间的调用方法。 - **类型转换**:使用类型转换函数。 - **参数注意事项**:存储过程参数的注意事项。 - **FENCE和UNFENCE**:如何使用`FENCE`和`UNFENCE`。 - **错误处理**:`SP`错误处理的使用方法。 - **导入功能**:`IMPORT`语句的使用。 - **SELECT隔离级别**:如何在`SELECT`语句中指定隔离级别。 - **性能优化**:使用`ATOMIC`或`NOT ATOMIC`,避免使用`COUNT(*)`及`EXISTS`。 2. **性能优化**: - **大数据导表**:如何高效地导出大数据量的表。 - **复杂SQL语句**:尽量编写复杂的`SQL`语句。 - **选择合适的执行方式**:`SQL`、`SP`及`C`语句的选择。 - **查询优化**:使用`HASH`和`RR_TO_RS`进行查询优化。 - **避免计数方法**:避免使用`COUNT(*)`及`EXISTS`。 3. **表及存储过程管理**: - **查看存储过程文本**:如何查看存储过程的运行文本。 - **查看表结构**:如何查看表的详细结构。 - **查看影响**:如何查看各表对存储过程的影响。 - **修改表结构**:如何修改表的结构。 4. **系统管理**: - **安装DB2**:如何进行DB2的安装。 - **创建数据库**:如何创建数据库实例。 - **远程配置**:如何进行数据库远程配置。 - **停止启动数据库**:如何停止或启动数据库实例。 - **连接与监控**:如何连接到数据库以及监控连接情况。 - **配置调整**:如何调整数据库的配置,包括堆大小、日志大小、程序堆内存等。 - **环境变量管理**:如何管理DB2的环境变量。 - **命令环境设置**:如何设置DB2的命令环境。 - **隔离级别设置**:如何改变隔离级别。 - **参数管理**:如何管理数据库实例的参数。 - **升级处理**:如何处理升级后的版本问题。 - **查看死锁**:如何查看和处理数据库表的死锁问题。 这篇文章通过详细讲解DB2的编程技巧、性能优化方法以及如何管理和维护存储过程和数据库,为用户提供了全面的数据库管理知识。
正在看的db2教程是:DB2编程序技巧 (一)。1 DB2编程
1.1 建存储过程时CREATE 后一定不要用TAB键 3
1.2 使用临时表 3
1.3 从数据表中取指定前几条记录 3
1.4 游标的使用 4
注意commit和rollback 4
游标的两种定义方式 4
修改游标的当前记录的方法 5
1.5 类似DECODE的转码操作 5
1.6 类似CHARINDEX查找字符在字串中的位置 5
1.7 类似DATEDIF计算两个日期的相差天数 5
1.8 写UDF的例子 5
1.9 创建含IDENTITY值(即自动生成的ID)的表 6
1.10 预防字段空值的处理 6
1.11 取得处理的记录数 6
1.12 从存储过程返回结果集(游标)的用法 6
1.13 类型转换函数 8
1.14 存储过程的互相调用 8
1.15 C存储过程参数注意 8
1.16 存储过程FENCE及UNFENCE 8
1.17 SP错误处理用法 9
1.18 IMPORT用法 9
1.19 VALUES的使用 9
1.20 给SELECT 语句指定隔离级别 10
1.21 ATOMIC及NOT ATOMIC区别 10
2 DB2编程性能注意 10
2.1 大数据的导表 10
2.2 SQL语句尽量写复杂SQL 10
2.3 SQL SP及C SP的选择 10
2.4 查询的优化(HASH及RR_TO_RS) 11
2.5 避免使用COUNT(*) 及EXISTS的方法 11
3 DB2表及SP管理 12
3.1 看存储过程文本 12
3.2 看表结构 12
3.3 查看各表对SP的影响(被哪些SP使用) 12
3.4 查看SP使用了哪些表 12
3.5 查看FUNCTION被哪些SP使用 12
3.6 修改表结构 12
4 DB2系统管理 13
4.1 DB2安装 13
4.2 创建DATABASE 14
4.3 手工做数据库远程(别名)配置 14
4.4 停止启动数据库实例 14
4.5 连接数据库及看当前连接数据库 14
4.6 停止启动数据库HEAD 15
4.7 查看及停止数据库当前的应用程序 15
4.8 查看本INSTANCE下有哪些DATABASE 15
4.9 查看及更改数据库HEAD的配置 16
4.9.1 改排序堆的大小 16
4.9.2 改事物日志的大小 16
4.9.3 出现程序堆内存不足时修改程序堆内存大小 16
4.10 查看及更改数据库实例的配置 16
4.10.1 打开对锁定情况的监控。 16
4.10.2 更改诊断错误捕捉级别 17
4.11 DB2环境变量 17
4.12 DB2命令环境设置 17
4.13 改变隔离级别 17
4.14 管理DB\INSTANCE的参数 18
4.15 升级后消除版本问题 18
4.16 查看数据库表的死锁 18
<