[jbosstools-dev] Re: JBIDE-2173 & JBIDE-2162 - performance improvement (for MySQL?)

Max Rydahl Andersen max.andersen at redhat.com
Mon Jul 14 04:38:36 EDT 2008


Hi Vitali,

> "I try debug DatabaseMetaData code and seems I find the reason. The main
> problem here - for each table extracted all foreing keys for all tables:"
>
> This is of course JBIDE-2173 and it seems here are the problems only with
> MySQL - I have check Postrgre and got better performance (Postrgre has no
> problems with performance).

ok.

> Also I try to study the problem to find common workaround for it - and seems
> it exist!
>
> Now to get foreing keys we are using
>
> getMetaDataDialect().getExportedKeys
>
> but it possible to use
>
> getMetaDataDialect().getImportedKeys
>
> and we will get much better performance - I have check it - it possible and
> we will get performance O(n) instead of O(n^2) for MySQL.
>
> Seems this have a sense, isn't it?

Did you create a patch for this ? Does all unittests passes ? I assume alot of logic
has to change now that foreignkeys are in "reverse" order ?

> About JDBCReader - when I try to modify it I saw some potential problem here
> -
>
> This is code to add table into dbs:
>
> Table table = dbs.addTable(quote(getSchemaForModel(schemaName)),
> getCatalogForModel(catalogName), quote(tableName));
>
> This is code to get table from dbs:
>
> dbs.getTable(schemaName, catalogName, tableName)
>
> obvious that here will be a problem with quotes.

sorry, but I don't see what is obvious in that ?

> I think the better way incorporate quotes process into DatabaseCollector.

Why ?

Please explain.

-max



More information about the jbosstools-dev mailing list