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

Reply via email to