> >> > 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. > > Practically one such line for each table and each column.
Why on 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 > I suggest analyzing your queries and creating only those indexes that are really needed. There's no need, and it's surely a bad practice, to create an index for each and every column. For example, when your where-clause contains columns A, B and C (in this order) you should create *one* index on A, B and C. Separate indexes on column A, B and C are not that useful. In this case, SQLite would most probably use the separate index on column A. Greetings, Christian