sql >> Database >  >> RDS >> Mysql

Waarom en waar INDEX's gebruiken - voor- en nadelen

Nou, je kunt waarschijnlijk boeken over indices vullen, maar hier in het kort een paar dingen om over na te denken bij het maken van een index:

Hoewel het (meestal) een select versnelt, vertraagt ​​het het invoegen, bijwerken en verwijderen omdat de database-engine niet alleen de gegevens hoeft te schrijven, maar ook de index. Een index heeft ruimte nodig op de harde schijf (en veel belangrijker) in RAM-geheugen. Een index die niet in het RAM kan worden vastgehouden, is vrij nutteloos. Een index op een kolom met slechts een paar verschillende waarden versnelt de selectie niet, omdat deze niet veel rijen kan sorteren (bijvoorbeeld een kolom "geslacht", die meestal heeft slechts twee verschillende waarden - mannelijk, vrouwelijk).

Als u bijvoorbeeld MySQL gebruikt, kunt u controleren of de engine een index gebruikt door "explain" toe te voegen voor de select - voor uw bovenstaande voorbeeld EXPLAIN SELECT TestField FROM Example WHERE username=XXXX



  1. Hoe de MySQL-opgeslagen procedure van Rails aan te roepen?

  2. Top n procent top n%

  3. SQL niet gelijk aan () Operator voor beginners

  4. Hoe importeer ik bestaande *.sql-bestanden in PostgreSQL 8.4?