我们今天是要和大家一起讨论的是DB2数据库应用之2种DB2来对IMPORT命令性能进行提高的实际操作方法,在利用 DB2 提供的IMPORT命令进行相关数据导入时,所有的约束都要被验证,所有装载的行都会记入日志。
且触发器也会被激活,因此在装载大量数据时,IMPORT 实用程序的性能会明显低于 DB2 的 LOAD 实用程序,为提高 IMPORT 的性能,这里为用户提供两种方法。
在利用 DB2 提供的 IMPORT 命令进行数据导入时,所有的约束都要被验证,所有装载的行都会记入日志,且触发器也会被激活,因此在装载大量数据时,IMPORT 实用程序的性能会明显低于 DB2 的 LOAD 实用程序,为提高 IMPORT 的性能,这里为用户提供两种方法。
针对 DB2 的 IMPORT 实用程序,使用 COMPOUND 选项或在 BIND db2uimpm.bnd 文件时加入缓冲区插入选项都可以使 IMPORT 的性能有较大的提高,且对多数情况下导入数据量都很大的分区式数据库,这些方法对于 IMPORT 性能的提高尤为重要。
下面就介绍一下这两种方法的具体实现步骤:
1. 使用 INSERT BUF 选项绑定 IMPORT 实用程序以启用缓冲区插入,即对 db2uimpm 程序包使用 INSERT BUF 选项重新绑定到数据库。
例如:
2. 发出导入数据的 IMPORT 命令时使用 COMPOUND 选项,如在 MODIFIED BY 语句后使用 COMPOUND=n,以便将插入语句中的 n 行记录作为一组一起导入。对比逐行记录插入的方式,这种方式减少了网络的通信量。COMPOUND 的范围为 1 – 100。
例如:
【编辑推荐】

如何做Sql Server性能测试
对于DBA来讲,我们都会做新服务器的性能测试。 我会从TPC的基准测试入手,使用HammerDB做整体性能评估(前身是HammerOra),跟厂商数据对比。 再使用DiskSpd针对性的测试磁盘IO性能指标(前身是SQLIO),再到SQLiosIM测试存储的完整性,再到ostress并发压力测试,对于数据库服务器迁移,我们还会收集和回放profiler TrAce,并收集期间关键性能计数器做对比。 下面我着重谈谈使用HammerDB的TPC-C来做SQL Server基准测试。 自己写负载测试代码很困难为了模拟数据库的负载,你想要有多个应用程序用户和混合数据读写的语句。 你不想总是对单一行更新相同的值,或者只是重复插入假的值。 自己动手使用Powershell、C#等语言写负载测试脚本也不是不可能,只是太消耗时间,你需要创建或者恢复数据库,并做对应的测试。 免费而简单的压测SQL Server:使用HammerDB模拟OLTP数据库负载HammerDB是一个免费、开源的工具,允许你针对SQL Server、Oracle、MySQL和PostgreSQL等运行TPC-C和TPC-H基准测试。 你可以使用HammerDB来针对一个数据库生成脚本并导入测试。 HammerDB也允许你配置一个测试运行的长度,定义暖机阶段,对于每个运行的虚拟用户的数量。 首先,HammerDB有一个自动化队列,让你将多个运行在不同级别的虚拟用户整合到一个队列--你可以以此获得在什么级别下虚拟用户性能平稳的结果曲线。 你也可以用它来模拟用于示范或研究目的的不同负载。 用于SQL Server上的HammerDB的优缺点HammerDB是一个免费工具,它也极易访问和快速的启动基准测试和模拟负载的方法。 它的自动程序特性也是的运行工作负载相当自动。 主要缺点是它有一个学习曲线。 用户界面不是很直观,需要花费时间去习惯。 再你使用这个工具一段时间之后,将会更加容易。 HammerDB也不是运行每一个基准测试。 它不运行TPC-E基准,例如,SQL Server更热衷于当前更具发展的OLTP基准TPC-E。 如果你用HammerDB运行一个TPC-C基准,你应该理解它不能直接与供应商提供的TPC-C基准结果相比较。 但是,它是免费的、快速的、易用的。 基准测试使用案例基准测试负载不能精确模拟你的应用程序的特点。 每个负载是唯一的,在不同的系统有不同的瓶颈。 对于很多使用案例,使用预定义的基准测试仍然是非常有效的,包括以下性能的比较:多个环境(例如:旧的物理服务器,新的虚拟环境)使用各种因素的不同及时点(例如:使用共享存储和共享主机资源的虚拟机的性能)在配置改变前后的点当然,对一个数据库服务器运行基准测试可以影响其他SQL Server数据库或者相同主机上其他虚拟机的性能,在生产环境你确保有完善的测试计划。 对于自学和研究来说,有预配置的负载非常棒。 开始使用基准测试你可以从阅读HammerDB官方文档的“SQL Server OLTP Load Testing Guide”开始。
oracle数据库中有哪些字符集,字符集之间的子集和超集关系是怎么样的?
oracle数据库的字符集有很多的,具体的也不能一一详细地列举出来了,但是,建库的时候,会有选择字符集的界面,点开下拉条,将会列出oracle所支持的所有字符集(10/12)。 超集与子集是包含和被包含的关系,超集兼容子集。
如何查看DB2占用的端口号
DB2数据查看占用的端口号,分为WINDOWS和linux系统查看方式,如下:一、linux系统查看DB2占用端口号2start启动了数据库管理器,并且通讯方式配置为TCP/IP。2.首先切换到db2inst1用户 su - db2inst13.查找TCP/IP Service name db2 get dbm cfg | grep -i service4.通过上一句命令的输出(如db2c_db2inst1)在/etc/services文件中找对应的端口号 grep db2c_db2inst1 /etc/services 输出 db2c_db2inst1 /tcp#其中就是db2数据库所占用的端口号二、windows系统查看DB2占用端口号方式如下:1、使用命令 db2 get dbm cfg找到SVCENAME 查找到TCP/IP 服务2、到系统配置文件里找到service name 对应的 port numberwindows:查看 c:\windows\system32\drivers\etc\services aix: 查看 /etc/services如下:DB2_DB/tcpDB2_DB2_/tcpDB2_DB2_/tcpDB2_DB2_END/tcpdb2c_DB2 /tcp
发表评论