db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Jefferson <a...@jpox.org>
Subject DatabaseMetaData.getColumns() with specified schema name gives poor performance
Date Tue, 24 Oct 2006 08:28:57 GMT
Hi,

I've been using DatabaseMetaData.getColumns(...) to get lists of existing 
columns. The schema is the schema "DATASTOREIDENTITY0" of the Apache JDO 
project TCK.

The schema in Apache JDO is created specifying lowercase identifiers but they 
haven't quoted the identifiers so will be stored UPPERCASE in Derby.

If I call
DatabaseMetaData.getColumns(conn, null, "datastoreidentity0", null);
it returns in the order of 60ms with no results (as I would expect).

If I call
DatabaseMetaData.getColumns(conn, null, "DATASTOREIDENTITY0", null);
it returns in the order of 170000ms with the correct results for the selected 
schema. 


I personally consider 3 minutes just to give basic schema information (of a 
schema that is *not* particularly big) to be totally unacceptable.


1. Has anyone else observed this?
2. Can I register it as a bug?
3. Any alternative query that can be made of schema tables to get the same 
information in an acceptable time ? (With Oracle JPOX has to do a SELECT of 
some system table because Oracles implementation of getColumns() is similarly 
errmmmm poor).


Thanks in advance
-- 
Andy

Mime
View raw message