Hi,

I have a question:

Is there a way in SQLite to have a full covering index on a table without also storing the duplicate table?

So if a have a table:

create table t(a,b,c);

and an index covering all its columns:

create index idx_t on t(a,b,c);

SQLite will store everything twice. First on the table and then on the index. The problem is that if all access on the table happens through the covering index, then the information on the table is redundant.

A first shot toward a partial solution would be to declare all the columns on the table as primary keys:

create table t(a,b,c, primary key(a,b,c));

Above assumes that due to the nature of how SQLite always stores tables in a B-tree, this would in essence be like an index. But this wouldn't work if columns a,b,c are not unique.

Is there any way to declare a primary key without the uniqueness constraint?

Kind regards,

lefteris.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to