Question

Situation

I am trying to troubleshoot performance when connecting to Sybase ASE Version 15.7 from Sqoop over JDBC.

Though I cannot check things myself it appears to be 10x slower to extract data this way then with another tool (which uses ODBC).

Observation

The DB team has observed the following:

enter image description here

Question:

What is the meaning of FETCH_SIZE jconnect_implicit_1:?

Of course other hints on what may be causing the performance issue are welcome as well.


The DB team believes it means a cursor is made for each row, perhaps because of this link which contains something vaguely similar, but I suspect it means something else as I have not found any reference of Oozie causing this over JDBC (we enforce a larger fetch size in the oozie command).

Was it helpful?

Solution

Even if fetch size is set to 1, it doesn't mean a cursor will be created for each row; it simply means the driver will request rows of an open cursor be sent to the client one by one instead of in batches. Still inefficient, but not that inefficient. However, there's no indication there that fetch size is set to 1; jconnect_implicit_1: seems to be simply an automatically generated name of a bind variable. I believe Sqoop fetch size can be controlled with the --fetch-size command line argument.

Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top