Začnu od konce – vyhledávání pomocí indexu funguje rychleji díky tomu, že je index uspořádán tak, aby v něm bylo možné rychle hledat. Třeba v rejstříku v knize také najdete potřebné slovo rychleji než v knize samotné – protože je řazen abecedně, což vám hledání usnadní. Jestli je index v paměti nebo na disku s tím nesouvisí. Samozřejmě že hledání v indexu v paměti je rychlejší, ale je běžné, že databáze má tolik indexů nebo jsou tak velké, že se do paměti nevejdou.
Dohledávání dat přímo v tabulce nejde nijak zvlášť rychle a data nejsou ukládána nijak speciálně, aby je bylo možné rychle dohledat. Pro rychlé hledání slouží právě indexy. Data na disku by klidně mohla být uložena jednoduše jeden záznam za druhým (s proměnlivou délkou řádku), v indexu byste pak měl odkaz na místo (od začátku souboru), kde jsou data zapsaná. To, že se data ve skutečnosti obvykle zapisují jiným způsobem, je spíš optimalizace kvůli velikosti souboru. Kdyby se data zapisovala výše uvedeným způsobem, při změně záznamu by se větší záznam musel zapsat na konec souboru a po původním záznamu by zbyla díra, menší záznam by se mohl zapsat na původní místo, ale zbyla by tam díra o velikosti rozdílu starého a nového záznamu. Nebo.li by docházelo k fragmentaci souboru – vedle užitečných dat byste tam měl spoustu nevyužitých prázdných míst, která by jen nafukovala velikost souboru.