Eric, How would you find a row whose column X contained value Y if the "partial" index on column X specified that rows containing value Y in column X should never be returned? If the index hides the row, how do you cause the row to become visible to a query? You have to drop the index.
However, I would be willing to accept an index on a *virtual* column whose set of discrete possible values was a subset of the values in the actual underlying table, or some translated form of those values, for example a column that was the result of a function that converted a date to 'Q1', 'Q2', 'Q3', or 'Q4'. Compare: http://www.oracle-base.com/articles/11g/VirtualColumns_11gR1.php If your goal is performance, moving rows out of the table when they cease to meet your business rule's definition of relevance will be more performant than partial query: not only will the index contain just as few nodes, but the table itself will contain fewer rows than the table when using a partial index. And programming would not be more difficult: you'd simply substitute a trigger for the partial index declaration. Moreover, this technique would be highly portable. Partial indexes, not. Regards Tim Romano Swarthmore PA > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users