Why is the index not used? When I run the following querys in MySQL:

SELECT count(*) FROM Inventory AS i WHERE i.lastModified &gt; 1389920146804 


or

SELECT i._id FROM Inventory AS i WHERE i.lastModified &gt; 1389920146804; 


The EXPLANE command will show that the index on lastModified is used.

But when I run 

SELECT * FROM Inventory AS i WHERE i.lastModified &gt; 1389920146804; 


or any other query with more then two rows we got a full table scan. 

Why? How can I avoid a full table scan when selecting more then one row?
Your index probably only contains the lastModified column, as well as your _id value as a way of finding the other column values for each row.

So if your predicate (the WHERE clause) isn't filtering your index data down to few enough rows, the effort in looking up the other details over and over is too much and it will decide that it's easier to just scan the whole table.

If your index included all the columns you were interested in, you would see an ordinary seek.