Du glaubst gar nicht wie sehr Indices in Datenbanken sich auf die Lese(!)-Geschwindigkeit auswirken können. Wenn Du als Extrembeispiel Column Stores (Datenbanken mit spaltenbasierter physischer Speicherung, oft für BI verwendet) nimmst, können diese eine riesige Menge an Daten von vorne Weg über einfache Mengenoperationen auf Indices ausschließen (z.B. in dem einfach Bit-Vektoren mit AND oder OR verknüpft werden) sodass die Zeit für eine aufwendige Suche entfällt. Solche Bitvektoren sind so klein, dass sie in einem Rutsch teilweise von der Festplatte eingelesen werden können oder sogar im Arbeitsspeicher verweilen. Einige passen auch komplett oder teilweise in den CPU-Cache hinein. Dann wird es sehr schnell
Außerdem können Datenbanken beim Schreiben von mehreren Puffern Gebrauch machen sowie - für den Benutzer unsichtbar im Hintergrund - von RAID-Verbünden und somit auf viele Datenträger verteilten Anfragen.
Das mal so grob zusammengefasst.
Als Lektüre dazu vielleicht noch interessant:
Viele Grüße