Hi Markus,

Thank you for this proposal.
I do this modification in the current development version,
(So it will be available in the next version of JOnAS > 2.3.1)>

Regards.
H�l�ne.


[EMAIL PROTECTED] wrote:
> 
> I want to tell you an idea for improving GenIC 2.3.
> 
> GenIC 2.3 creates code for finders in a way that is not optimal.
> 
>             pStmt = conn.prepareStatement("select ID from FolderItem where Folder = 
>?");
>             pStmt.setInt(1, p1);
>             ResultSet rs = pStmt.executeQuery();
>             while (rs.next()) {
>                 q5.FolderItemPK pk = new q5.FolderItemPK();
> ---->           pk.id = rs.getInt("ID");
>                 pkC.addElement((Object)pk);
>             }
> 
> As you see, GenIC produces code that does ResultSet.getInt(java.lang.String) in a 
>loop. For String comparisons are slower than int comparisons (think of a table that 
>has 100 columns, each beginning with the same 100 characters...), and ResultSet has a 
>method than can use int as a parameter, I would suggest to change GenIC to produce 
>this code:
> 
>             pStmt = conn.prepareStatement("select ID from FolderItem where Folder = 
>?");
>             pStmt.setInt(1, p1);
>             ResultSet rs = pStmt.executeQuery();
>             while (rs.next()) {
>                 q5.FolderItemPK pk = new q5.FolderItemPK();
> ---->           pk.id = rs.getInt(1);
>                 pkC.addElement((Object)pk);
>             }
> 
> For JDBC API spec tell that the first column of a ResultSet has to be 1, we can 
>produce code that uses fixed numbers. If you think of large tables (wide and long, e. 
>g. 100 columns with large names, 100000 rows per table), this would improve 
>performance without having any side impact.
> 
> I would suggest to do this small change in 2.3.1.
> 
> Markus
> 
> P.S.: Why generating addElement((Object)...)? IMHO this cast is not needed, since 
>all object inherit from java.lang.Object by default.
> 
> ----
> To unsubscribe, send email to [EMAIL PROTECTED] and
> include in the body of the message "unsubscribe jonas-users".
> For general help, send email to [EMAIL PROTECTED] and
> include in the body of the message "help".

-- 
-=- H�l�ne JOANIN -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  mailto:[EMAIL PROTECTED]   http://www.evidian.com
  Phone: 33.4.76.29.73.53            Fax: 33.4.76.29.76.00
  Download our EJB Server JOnAS at http://www.objectweb.org
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to