Hi, I previously reported that an UPDATE of a table containing an Expression 
and/or Partial Index will unnecessarily touch the expression and/or partial 
index. I see both are now fixed in the 3.26.0 2018-09-19 codebase. Thank you so 
much - it works great!

However, while testing it, I also noticed there is an opportunity for this 
INSERT optimization:

CREATE TABLE Foo(x, z);
CREATE INDEX FooPartialZ on Foo(z) WHERE z > 42;

explain INSERT INTO foo(x) VALUES(5);
explain INSERT INTO foo(z) VALUES(10);

Neither of these statements should affect FooPartialZ, the first is an unused 
column, the second is out of range. But currently they both will access 
FooPartialZ.

These are probably trickier to implement though (especially the second one), 
and not nearly as important to us as the UPDATE optimizations, but it may be 
useful for someone out there.

- Deon

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

Reply via email to