On Feb 28, 2009, at 8:44 PM, Lloyd wrote: > > Hi, > > When we create a view what happens internally in sqlite? Does it > select > all the data from the table and then "insert" it in to the view? or > would > the records in the view keep references to records in main table? > just to > know whether creating more views on a big in-memory database would > require > more memory.
A view in SQLite is just a SELECT statement that is saved in the database schema. If you do: CREATE VIEW v1 AS SELECT * FROM t1; SELECT * FROM v1; The SQL compiler (the thing that runs when you call sqlite3_prepare_v2()) converts the select statement to "SELECT * FROM (SELECT * FROM t1)" before compiling a prepared statement to implement the query. So adding a view doesn't require a huge amount of extra memory. Dan. > > > Thanks, > Lloyd > > ______________________________________ > Scanned and protected by Email scanner > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users