[prev in list] [next in list] [prev in thread] [next in thread]
List: jboss-user
Subject: Re: [JBoss-user] Performance issue while adding to a EJB 2.0 relation - JBoss version: 3.0.2
From: Stephen Coy <steve () whitesmiths ! com ! au>
Date: 2002-09-30 3:12:41
[Download RAW message or body]
I don't think you are missing anything. Please see [
jboss-Patches-608221 ] Unidirectional CMR performance patch.
This patch works for us, but Dain says he has found a better way to fix
it which is in Branch_3_2 as of Friday or thereabouts.
No need to dig deeper, I've been down there already :-)
Steve Coy
On Monday, September 30, 2002, at 11:08 AM, bobby abraham wrote:
>
> Recently while creating several tens of thousands of entities I
> noticed a general increase in the time taken to add an entity. The
> time is roughly proportional to the number of rows in the table.
>
> The offending code, less the comments and logging, looks as follows :
>
> AttributeLocal attribute =
> attributeHome.findByNameAndType(attributeData.getName(), "ld");
> AttributeInstanceLocal attributeInstance =
> attributeInstanceHome.create(attributeInstanceData);
> attributeInstance.setAttribute(attribute);
> parcel.getAttributeInstances().add(attributeInstance);
>
> The relationships involved are
> Attribute (1) <- (M) AttributeInstance [ via foreign key on the
> attributeinstance table called attribute_id]
> Parcel (1) -> (M) AttributeInstance [ via a link table ]
>
> Now the jboss server log included below shows the sql query "SELECT
> AttributeInstance_id FROM ATTRIBUTEINSTANCE WHERE (attribute_id=?)".
> In this case it takes 210 ms but this time is proportional to the
> number of attributeinstances already related to this attribute. This
> query does in fact typically return thousands of rows.
>
> I can see no good reason for this select to be executed at all - or
> have I missed something ?
>
> 2002-09-27 16:32:02,360 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCFindByPrimaryKeyQuery.Sequence.find
> ByPrimaryKey] Executing SQL: SELECT name FROM SEQUENCE WHERE name=?
> 2002-09-27 16:32:02,370 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Sequence]
> Executing SQL: SELECT nextVal FROM SEQUENCE WHERE (name=?)
> 2002-09-27 16:32:02,370 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Sequence]
> Executing SQL: SELECT nextVal FROM SEQUENCE WHERE (name=?)
> 2002-09-27 16:32:02,380 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.Sequence]
> Executing SQL: UPDATE SEQUENCE SET nextVal=? WHERE name=?
> 2002-09-27 16:32:02,380 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.Sequence] Rows
> affected = 1
> 2002-09-27 16:32:02,380 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.AttributeInstan
> ce] Create: pk=80936
> 2002-09-27 16:32:02,380 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.AttributeInstan
> ce] Executing SQL: SELECT COUNT(*) FROM ATTRIBUTEINSTANCE WHERE
> AttributeInstance_id=?
> 2002-09-27 16:32:02,380 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.AttributeInstan
> ce] Executing SQL: INSERT INTO ATTRIBUTEINSTANCE
> (AttributeInstance_id, value, deprecated, userstamp, timestamp,
> attribute_id) VALUES (?, ?, ?, ?, ?, ?)
> 2002-09-27 16:32:02,390 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand.AttributeInstan
> ce] Rows affected = 1
> 2002-09-27 16:32:02,390 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadEntityCommand.Attribute]
> Executing SQL: SELECT type, unit, data_type, description, name,
> deprecated, userstamp, timestamp FROM ATTRIBUTE WHERE (attribute_id=?)
> 2002-09-27 16:32:02,390 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCLoadRelationCommand.Attribute]
> Executing SQL: SELECT AttributeInstance_id FROM ATTRIBUTEINSTANCE
> WHERE (attribute_id=?)
> 2002-09-27 16:32:02,600 INFO [STDOUT] LOAD--2 attribute instance add
> 240 milliseconds
> 2002-09-27 16:32:02,600 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.AttributeInstanc
> e] Executing SQL: UPDATE ATTRIBUTEINSTANCE SET attribute_id=? WHERE
> AttributeInstance_id=?
> 2002-09-27 16:32:02,600 DEBUG
> [org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreEntityCommand.AttributeInstanc
> e] Rows affected = 1
>
>
> I'm happy to dig deeper into this problem but am hoping that someone
> can give me a few pointers as to what might be going on here.
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic