Stephen Oberholtzer wrote: > I should note that there's a gross inefficiency when using triggers to > handle updates or deletes against views; SQLite does the equivalent of > this: > > For UPDATE <view> ... WHERE <condition>, SQLite copies the entire > source view into the temp table. > > SELECT * INTO <temptable> FROM <view> > > Then, it iterates over <temptable>, looking for rows that match > <condition>, and *then* runs the trigger on them. This means that if > your source view is large, this will run slowly. > > I submitted a patch a long while ago to optimize this by turning the > initial temp-table population into "SELECT * INTO <temptable> FROM > <view> WHERE <condition>", which worked much faster, but I don't think > anything came of it. > > (my original msg to this list: > http://readlist.com/lists/sqlite.org/sqlite-users/2/11029.html ) > > >
Stephen, This does seem like a good idea. The SQLite mailing list doesn't pass files attached to submissions, so no one saw your patch. I would suggest creating at ticket at http://www.sqlite.org/cvstrac/captcha?nxp=/cvstrac/tktnew and posting your message, or a link to it, along with your patch. I suspect the patch itself will probably have to be modified, since SQLite recently underwent significant changes to its code generation routines. As with all patches, it will be reviewed and accepted much faster if it passes the test suite. HTH Dennis Cote _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users