Velmi zjednodušeně, ale možná může pomoci:
Indexy nemusí být nutně v paměti, je to prostě další součást DB (vytvářená automaticky). Obvykle i ukládané spolu s DB. V paměti obvykle bývají, kvůli urychlení, ale to mohou být i vlastní položky.
Zapomeň na B+ tree a další specialitky, pro základní představu, nejjednodušší příklad, mysli, že index je opravdu jen další tabulka odkazů (tím "odkazem" si představ pořadí v základní tabulce). Index jsou tedy jen odkazy (pořadí, propojení), nic jiného. Akorát že seřazené.
Takže máš třeba DB čtyř jmen: Ondra, Jirka, Petr, Michal
Když si necháš oindexovat (dle jména), tak index bude vypadat třeba 2., 4., 1., 3. (tedy, seřazeně je jako první odkaz na 2. položku Jirka, pak Michal, Ondra, Petr).
- Výhody, když hledáš jméno, stačí půlením intervalu (přes ten index) dohledat seřazené, jinak bys musel projíždět položky jednu za druhou, než najdeš. Pro B tree index se pak projíždí ten strom.
- Nevýhody, když přidáš další jméno, musí se upravit i index (takže přidávání ubírání položek trvá déle než bez indexu). Příklad, přidáš "Karel" ... bude to vypadat Ondra, Jirka, Petr, Michal, Karel ... ale upravený index bude: index 2., 5., 4., 1., 3.
Indexů může být více (jméno, příjmení, ...), ale každé přidání a ubrání vždy znamená znovu opravit _všechny_ indexy. Ale vyhledávání je pak rychlé. Proto se jako index užívají různě B stromy a spol., aby se i pohyby (odebírání, přidávání) v rámci indexu prováděly rychle - není to jen prostá lineární tabulka pořadí (tam by se muselo celé posouvat, při přidání doprostřed).
V praxi v současných databázích to vypadá jen tak, že řekneš, že třeba pole "jméno" chceš indexovat a databáze už si vše dělá sama - jak upravuje index při přidávání/mazání, tak, pokud hledáš dle jména, tak využije index a vyhledá rychle. Stejně tak se nestaráš o to, jak to "propojení" vypadá ani jak vypadá zdrojová tabulka jmen - zda je index jen prosté pořadí, či něco více. Ona totiž ani ta původní tabulka jmen neznamená, že jsou někde za sebou, může to být list, cokoli. O to se nestaráš, to zvenku nevíš.
Prostě, Ty už se pak nestaráš o to, že nějaký index musíš upravovat, ani jaká je fyzická podoba zdrojové "tabulky". To už je starost DB. Ty se jen ptáš (SQL).