Hogy ne lenne!
Tegyük tisztába: az indexek a lekérdezések gyorsaságát befolyásolhatják.
Ha van egy táblánk, annak van egy struktúrája és az adatsorok bizonyos sorrendben szerepelnek benne. Az indexet nézhetjük úgy, hogy egy segédtábla, amiben a sorok másféle sorrendben szerepelnek.
A táblában mondjuk személyek adatait tároljuk, és egy generált egyedi azonosító szerint szerepelnek a sorok. Tehetünk rá egy indexet, ami például a személyek teljes neve alapján rendezett; egyet, ami a személyi számuk szerint; egyet, ami a laphelyük szerint; és a lehetőségek tárháza végtelen.
Ha a táblára futtatunk egy lekérdezést, akkor a szerver szépen kioptimizálja azt, és megállapítja, melyik index lenne a legmegfelelőbb, hogy gyorsabban kapjuk meg az eredményt.
De mi történik, ha az adatokat frissítjük? Mondjuk valaki nevet változtat? Vagy elköltözik másik városba? Nemet vált? Kiadunk egy update
parancsot, és frissítjük a tábla adatait. Ilyenkor az indexek is frissülnek, de ezzel nem kell külön törődnünk, a szerver szépen elintézi, amit el kell.
Szerintetek melyik frissítés fut le hamarabb? Az, ahol a táblán csak egy indexet kell a szervernek a háttérben frissítenie, vagy az, ahol a táblán levő 10-15 indexet kell frissíteni? Ha az elsőre tippeltél, akkor jól tippeltél.
Ez megint nem fekete-fehér, gondolkozni kell, mi a fontosabb az adott táblánál: az olvasás vagy az írás sebessége.