I am really interested on how MySQL indexes work that it could not scan the whole table to give us results? It's off-topic, I know, but if there is someone who could explain me that picturesquely I would be very very thankful.
Basically an index on a table works like an index in a book (that's where the name came from):
Let's say you have a book about databases and you want to find some information about, say, storage. Without an index (assuming no other aid, such as a table of contents) you'd have to go through the pages one by one, until you found the topic (that's a
full table scan).
On the other hand, an index has a list of keywords, so you'd consult the index and see that
storage is mentioned on pages 113-120,231 and 354. Then you could flip to those pages directly, without searching (that's a search with an index, somewhat faster).
Of course, how useful the index will be, depends on many things - a few examples, using the simile above: