Hi I have found following in 'The SQLite Query Optimizer Overview':
It is not necessary for every column of an index to appear in a WHERE clause term in order for that index to be used. But there can not be gaps in the columns of the index that are used. Thus for the example index above, if there is no WHERE clause term that constraints column c, then terms that constraint columns a and b can be used with the index but not terms that constraint columns d through z. Why does it works that way ? Why it is not possible to implement optimiser to use 'd' column index ? Why can't it take 'd' index column to speed up the query. Now Sqlite user need to worry about optimisation steps and I think this kind of problem has a simple solution. There are many questions regarding index problems. Best regards, Stan