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