I think you are misinterpreting this. It says: "Every time the database is opened, all CREATE INDEX statements are read from the sqlite_master table and used to regenerate SQLite's internal representation of the index layout."
This does not say it recreates the index, just the internal representation. Indices are stored in the database file. I don't know what leads you to think otherwise. The file size may not increase if you just add a few records and the if the clm which is indexed is narrow (short words). Basically you concerns are unfounded. Monday, March 3, 2008, 7:58:50 AM, you wrote: ML> Hello sqlite-users, ML> is it true, that in sqlite3 indices are not stored in the database-file? ML> When reading the section ML> http://sqlite.org/lang_createindex.html it ML> seems that CREATE INDEX statements are only stored in the sqlite_master ML> table and the index will be generated every time the database is opened. ML> Can sqlite3 be forced to store the index itself in the database-file? ML> (In SQLite2 indices were stored directly in the file, wheren't they?) ML> When creating an index on a database the filesize does not increase so I ML> suppose the index is not stored in the file. ML> Background: ML> 1. The database will be used "read-only", a regeneration of the index is ML> not necessary. ML> 2. The database will be accessed via jdbc, a regeneration of indices ML> with every opening of the file causes to many "regeneration". ML> TIA, ML> Michael ML> _______________________________________________ ML> sqlite-users mailing list ML> [email protected] ML> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users -- Best regards, Neville Franks, http://www.surfulater.com http://blog.surfulater.com _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

