executeQuery and busy waiting
От | Garrick Dasbach |
---|---|
Тема | executeQuery and busy waiting |
Дата | |
Msg-id | 1056739442.24233.21.camel@bock обсуждение исходный текст |
Ответы |
Re: executeQuery and busy waiting
|
Список | pgsql-jdbc |
I'm working on a project with Postgresql and I'm running into a strange problem. I have a Java Program running on the Database server that periodicly connects to the Database and runs a pl/pgsql function. This function should run fairly fast, but could take several minutes based on the load of the server and amount of information it needs to process. Running the function from psql takes 40 seconds under no load and minimal data, but when I run the function from java using JDBC it takes 20-30 minutes. Checking top, this is a Linux system, I see that the java program takes up 99% of the CPU when it's running this function through executeQuery. Is executeQuery() doing a busy wait for the data from postgres? It seems a bit absurd that the executeQuery method would hijack 99% of the CPU waiting for results and slowing everything else on the system down. The second problem I am noticing is that if I move the java program to another machine, to keep java from stealing all the CPU cycles, the function still takes 20-30 minutes to run through java, but only takes 40 seconds to run through psql. What's the deal? Any help would be appreciated. Garrick Dasbach Software Developer MusicRebellion.com, Inc. Garrick@musicrebellion.com
В списке pgsql-jdbc по дате отправления: