1 前言 8
2 DB2专有名词解释 8
2.1 Instance(实例) 8
2.2 DB2 Administration Server(管理服务器) 8
2.3 Container(容器) 8
2.4 DRDA 8
2.5 DARI 8
2.6 SPM 8
2.7 FCM 8
2.8 ADSM 8
2.9 DCE 9
3 DB2编程 9
3.1 建存储过程时Create 后一定不要用TAB键 9
3.2 使用临时表 9
3.3 从数据表中取指定前几条记录 9
3.4 游标的使用 10
3.5 类似decode的转码操作 10
3.6 类似charindex查字符在字串中的位置 11
3.7 类似datedif计算两个日期的相差天数 11db2数据库sql语句
3.8 写UDF的例子 11
3.9 创建含identity值(即自动生成的ID)的表 11
3.10 预防字段空值的处理 11
3.11 取得处理的记录数 11
3.12 从存储过程返回结果集(游标)的用法 11
3.13 类型转换函数 12
3.14 存储过程的互相调用 13
3.15 C存储过程参数注意 13
3.16 存储过程fence及unfence 13
3.17 SP错误处理用法 13
3.18 values的使用 14
3.19 给select 语句指定隔离级别 14
3.20 atomic及not atomic区别 14
3.21 C及SQL存储过程名称都要注意长度 14
3.22 怎样获得自己的数据库连接句柄 14
3.23 类似于ORACLE的Name pipe 14
3.24 类似于ORACLE的TRUNCATE清表但不记日志的做法 15
3.25 用cli编程批量的insert 15
4 DB2一些不好的限制 18
4.1 临时表不能建索引 18
4.2 cursor不能定义为with ur(可以但…) 18
4.3 cursor order by以后不能for update 18
4.4 程序中间不能自由改变隔离级别 18
4.5 update 不能用一个表中的记录为条件修改另一个表中的记录。 18
4.6 如果显示调用存储过程时传 null值要注意 18
5 DB2编程性能注意 19
5.1 大数据的导表的使用(export,load,import)(小心) 19
5.1.1 import的用法 19
5.1.2 性能比较 19
5.1.3 export用法 19
5.2 SQL语句尽量写复杂SQL 19
5.3 SQL SP及C SP的选择 19
5.4 查询的优化(HASH及RR_TO_RS) 20
5.5 避免使用count(*) 及exists的方法 20
5.6 Commit的次数要适当 20
5.7 Insert和update速度比较 20
5.8 使用临时表取代一条一条插入 21
5.9 循环次数很多时注意减少执行语句(附例子) 21
5.10 看程序执行时间及结果db2batch 22
5.11 看程序或语句具体的执行计划shell(改写后的语句) 22
5.12 两个表做join的不同方式的区别 23
5.12.1 not in方式 23
5.12.2 except方式 24
5.12.3 not exist方式 24
6 其他系统和DB2的交互 25
7 DB2表及sp管理 25
7.1 权限管理 25
7.1.1 数据库权限控制 25
7.1.2 schema权限控制 25
7.1.3 tablespace权限控制 25
7.1.4 table权限控制 26
7.1.5 package权限控制 26
7.2 建存储过程会占用很多的系统资源(特别是io) 26
7.3 看存储过程文本 26
7.4 看表结构 26
7.5 看表的索引信息 26
7.6 查看各表对sp的影响(被哪些sp使用) 26
7.7 查看sp使用了哪些表 27
7.8 查看function被哪些sp使用 27
7.9 查sp的ID号 27
7.10 从sp的id号查存储过程名称 27
7.11 创建及使用summary table 27
7.12 修改表结构 28
7.13 给一个表改名 28
7.14 得到一个表或库的相关脚本 28
7.15 在对表操作的性能下降后对表做整理 28
7.16 查看语句的执行计划 29
7.17 查看sp的执行计划 29
7.18 更改存储过程的隔离级别 29
7.19 取全部表的大小 29
8 DB2系统管理 31
8.1 DB2 EE及WORKGROUP版本的区别 31
8.2 怎样判断DB2实例的版本号和修补级别? 31
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论