Hello, I have the following question:
I performed benchmark for insertion into the DB both using entity bean (BMP, using connection pool) & direct connection to the DB (retaining same connection for all insertion statements). In the ejbCreate method there is only one hit to the DB (same with direct connection, both have same SQL query for insertion).
Direct connection is about 70% faster than using entity bean:
15 rows inserted: 1.101 sec versus 1.875 sec
4500 rows inserted: 198.565 sec versus 338.537 sec
What may cause that gap, or it is the expected result?
Is the transaction managements adds this overhead?
Or may be its about whole entity bean mechanism?
How can I speed it up?
By the way, tried to change transaction attribute from Required to NotSupported, have no difference.
My environment: JDK1.3.1, JBoss 2.2, Sybase DB
Thank you very much.
Have you tried using p6spy from www.provision6.com ?
Perhaps the JDBC call trace that it provides might clue you in on where the problem is.
This is an important and practical issue IMHO. Please do post your findings as and when you find and solve the problem.
P.S: No affiliation with provision6