"Christian Schwarz" <[EMAIL PROTECTED]> writes: >> > Have you tried creating indexes on your rows. >> > [..] >> > I suggest you add indexes on text_val >> >> Yes. I use >> >> create index text_val_idx on geodb_textdata(text_val); >> > > This index seems pretty useless. You're querying against > geodb_textdata.loc_id and geodb_textdata.text_type. So you should create > an index over these columns.
Sorry, I just named this one in my reply. In the DB there are much more indexes: [...] create index text_lid_idx on geodb_textdata(loc_id); create index text_val_idx on geodb_textdata(text_val); create index text_type_idx on geodb_textdata(text_type); create index text_locale_idx on geodb_textdata(text_locale); create index text_native_idx on geodb_textdata(is_native_lang); create index text_default_idx on geodb_textdata(is_default_name); create index text_since_idx on geodb_textdata(valid_since); create index text_until_idx on geodb_textdata(valid_until); [...] Practically one such line for each table and each column. If you want to see the whole db as import script, have a look at http://renormalist.net/opengeodb/opengeodb-sqlite.sql.gz This DB was originally a Postgres one. I just changed the boolean true/false into integer-0/1 and everything else at least syntactically worked. Maybe I'm missing some other syntax that SQLite accepts but silently ignores or handles differently. GreetinX Steffen -- Steffen Schwigon <[EMAIL PROTECTED]> Dresden Perl Mongers <http://dresden-pm.org/>