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