ruby-DB2 ODBC 驱动程序的 odbc 连接时间慢
ruby-odbc slow connect times for DB2 ODBC driver
每次执行代码,ODBC.connect
每次都需要30秒来建立与数据源的连接
当 运行 通过 isql -v mustship
执行相同的 sql 语句时,执行和完成需要 .01 秒,所以我知道它在这台服务器上有什么东西或者我做错了什么我下面的动作?我非常仔细地阅读了 ruby-odbc 文档,没有看到任何相关内容。
class MustshipsController < ApplicationController
require 'odbc'
def index
mustshiptl = ODBC.connect("mustship", '', '')
sql = "SELECT COL1, COL2, COL3, COL4 FROM MUSTSHIPTL"
stmt = mustshiptl.run(sql)
# code execution here
stmt.drop
end
感谢帮助
我想通了。
如果您在 db2cli.ini 文件中为 IBM DB2 数据源使用 CurrentSchema=libraryname
,则执行将延迟,因为它将 DB2 中的访问路径设置为仅此库。删除此设置使我回到了毫秒级的执行时间。然后你只需要在 sql 调用中为每个 table 定义库名称。
希望这会有所帮助,以防将来有人遇到这个问题。很郁闷。
每次执行代码,ODBC.connect
每次都需要30秒来建立与数据源的连接
当 运行 通过 isql -v mustship
执行相同的 sql 语句时,执行和完成需要 .01 秒,所以我知道它在这台服务器上有什么东西或者我做错了什么我下面的动作?我非常仔细地阅读了 ruby-odbc 文档,没有看到任何相关内容。
class MustshipsController < ApplicationController
require 'odbc'
def index
mustshiptl = ODBC.connect("mustship", '', '')
sql = "SELECT COL1, COL2, COL3, COL4 FROM MUSTSHIPTL"
stmt = mustshiptl.run(sql)
# code execution here
stmt.drop
end
感谢帮助
我想通了。
如果您在 db2cli.ini 文件中为 IBM DB2 数据源使用 CurrentSchema=libraryname
,则执行将延迟,因为它将 DB2 中的访问路径设置为仅此库。删除此设置使我回到了毫秒级的执行时间。然后你只需要在 sql 调用中为每个 table 定义库名称。
希望这会有所帮助,以防将来有人遇到这个问题。很郁闷。