EN - FR - DE - ES - IT - PT -

LexiconDream

📇 Index

En datastruktur som påskyndar hämtning av databasposter.

Index

Ett index snabbar upp datahämtning. Utan ett index skannar databasen varje rad för att hitta matchande poster. Med ett index hoppar den direkt till relevanta rader. Indexet är en separat datastruktur som mappar värden till platser. Ett bokindex fungerar på samma sätt. Du slår upp en term och hittar sidnumret. Du läser inte varje sida för att hitta den. Databasen gör samma sak.

Index har ett pris. De tar plats. De saktar ner infogningar, uppdateringar och borttagningar eftersom indexet också måste uppdateras. Varje skrivning blir dyrare. Fördelen är snabbare läsningar. För lästunga arbetsbelastningar är index avgörande. För skrivtunga arbetsbelastningar skadar för många index prestandan. Att välja vilka kolumner som ska indexeras kräver förståelse för frågemönstren. Kolumner som används i WHERE-klausuler, JOIN-villkor och ORDER BY-klausuler är bra kandidater. Kolumner med låg kardinalitet, som en boolesk flagga, är dåliga kandidater eftersom indexet inte begränsar sökningen särskilt mycket. Sammansatta index täcker flera kolumner och kan hantera frågor som filtrerar på flera fält. Ordningen på kolumnerna i ett sammansatt index spelar roll. Databasen kan använda ett sammansatt index för frågor på den inledande kolumnen men inte enbart på efterföljande kolumner. Indexdesign är en avvägning. Målet är att snabba upp de frågor som är viktiga utan att sakta ner skrivningar mer än nödvändigt.

Indextyper

Ett index är en genväg. Det byter skrivhastighet och lagring mot läshastighet. Använd det där läsningar är som viktigast.

Comments (3)

  1. Derek S.
    Database indexes are a tradeoff. They speed up reads but slow down writes and take up space. Knowing when to add one is an art.
  2. Pam L.
    A primary key automatically creates an index. That's something a lot of beginners don't realize.
  3. Chris T.
    Without an index the database has to scan every row. With one it can jump straight to the data. Huge performance difference.

Leave a comment