情况
我正在尝试通过 JDBC 从 Sqoop 连接到 Sybase ASE 15.7 版时对性能进行故障排除。
虽然我自己无法检查事情,但以这种方式提取数据似乎比使用另一个工具(使用 ODBC)慢 10 倍。
观察
DB 团队观察到以下情况:
问题:
是什么意思FETCH_SIZE jconnect_implicit_1:
?
当然,也欢迎其他有关可能导致性能问题的提示。
数据库团队认为这意味着为每一行制作了一个游标,可能是因为这个链接包含一些模糊相似的东西,但我怀疑这意味着其他的东西,因为我没有找到任何 Oozie 的引用导致这通过 JDBC(我们强制执行更大的在 oozie 命令中获取大小)。
即使fetch size 设置为 1,也不意味着将为每一行创建一个游标;它只是意味着驱动程序将请求将打开游标的行逐一发送给客户端,而不是批量发送。仍然低效,但不是那么低效。但是,没有迹象表明 fetch size 设置为 1。
jconnect_implicit_1:
似乎只是绑定变量的自动生成的名称。我相信 Sqoop 获取大小可以通过--fetch-size
命令行参数来控制。