Performance difference between Oracle and Sql server of a factor 2 to 3 -----------------------------------------------------------------------
Key: OPENJPA-558 URL: https://issues.apache.org/jira/browse/OPENJPA-558 Project: OpenJPA Issue Type: Improvement Environment: Kodo 4.1.4 (sql server 2005, Oracle 10, Oracle 11, ojdbc6 oracle driver) Reporter: Christiaan Attachments: Oracle Performance.zip I am trying to include support for Oracle in our product. It currently supports ms sql server. One of the things I noticed is that many of our unit tests perform a factor 2 to 3 slower. I managed to isolate one of the performance bottlenecks which is included in the attached testcase. The persistent class is basically a 1-to-many relation with itself. The performance bottleneck is for the code being executed on getParent(). On my machine it gives the following output: ============Executing test for Oracle============= There are now 1110 components Getting 1110 parents took 453ms Getting 1110 parents with direct SQL took 156ms ============Executing test for SQL============= There are now 1110 components Getting 1110 parents took 156ms Getting 1110 parents with direct SQL took 156ms Note, for both sql server and oracle I didn't do any performance tuning. One thing to note is that Oracle doesn't generate join syntax (which is probably related to issue openjpa-541). I tried setting fetchConfig.setJoinSyntax(JoinSyntaxes.SYNTAX_SQL92), but this didn't have any effect. However, executing the "and" syntax version versus the join syntax version with direct sql gives a time difference of 176 ms vs 156 ms. So this doesn't really explain the performance difference. I also tried a different oracle driver (datadirect) but this didn't give much difference either. Could this performance difference be caused by openjpa code? Did anyone encounter this as well? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.