title: Why does adding an index to a database field speed up searching over that field?
body: <p>I'm new to databases and have been reading that adding an index to a field you need to search over can dramatically speed up search times.  I understand this reality, but am curious as to how it actually works.  I've searched a bit on the subject, but haven't found any good, concise, and not over technical answer to how it works.</p>
  
  <p>I've read the analogy of it being like an index at the back of a book, but in the case of a data field of unique elements (such as e-mail addresses in a user database), using the back of the book analogy would provide the same linear look up time as a non-indexed seach.</p>
  
  <p>What is going on here to speed up search times so much?  I've read a little bit about searching using <a href="http://en.wikipedia.org/wiki/B%2Btree#Search" rel="noreferrer">B+-Trees</a>, but the descriptions were a bit too indepth.  What I'm looking for is a high level overview of what is going on, something to help my conceptual understanding of it, not technical details.</p>