用ODBC连接DB2为什么如此慢

用ODBC连接DB2为什么如此慢,第1张

DB2 本身就是这样的,实例启动后,数据库并不会启动的,默认是在第一个应用程序连接数据的时候启动数据库的(激活),在实例级分配一些内存,但是并没有影响到数据库这个级别,db2会在第一次连接的时候,按照数据库的配置参数(get db cfg for dbname)对数据库进行初始化,比如分配dbheap,util_heap_sz,locklist,logbufsz等等,这些内存的分配需要大量的时间,等到以后连接的时候,这些 *** 作不必再作,当然就快。第一次启动的这个时候是比较长时间的。还有默认在最后一个应用程序断开连接的时候数据库会自动关闭(去激活)。

你可以采用命令

ACTIVATE DATABASE

启动数据库(激活),不过这样必须用命令

DEACTIVATE DATABASE

才能关闭数据库的(去激活)

你需要 排除一下 是 SQL 执行慢, 还是 ODBC 慢, 还是程序处理慢。

你那个 SQL 语句, 在 SQL 2008 的 SQL Server Management Studio 那里执行, 需要多少时间。

如果时间短, 那么可以排除掉 SQL 执行慢的问题。

如果 在 SQL 2008 的 SQL Server Management Studio 那里执行就很慢了, 那么你需要优化一下 SQL 语句。

也有可能是 SQL 执行很快, 但是数据量很大, 所有数据都查询完了, 花费时间很多。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10016458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存