sql >> Databasteknik >  >> RDS >> Oracle

ORACLE Infoga prestanda på indexerade tabeller

Det här är faktiskt samma typ av fråga som:

Detta beror på att när du förvarar dina matvaror vill du ha dem på en trevlig, välkänd plats så att det är lättare att hitta dem efteråt.

En databas måste göra detsamma.

  • Om du har en tabell utan index kan den bara lägga till ny data i slutet av tabellen.
  • Om du har ett index måste databasen utföra mer arbete. Det kommer förmodligen fortfarande att placera posten i slutet av tabellen, men dessutom uppdaterar den sitt index för att se till att om du vill hitta posten efteråt, kommer den att hitta den snabbare än utan index.

Detta betyder också att om du lägger till fler index, kommer insättningarna att sakta ner ytterligare.

Det ska vara tydligt att du bara vill skapa ett index om du också kommer att använda det i efterhand. Om du bara skapar ett index och du inte använder det efteråt för att förbättra prestandan för en fråga, behöver du inte ha indexet eftersom det bara kommer att sakta ner infogningarna och inte förbättra någon fråga.



  1. Ansluter till GCP Cloud SQL från App Engine i separat projekt

  2. Fel med tecken i en HTML-iframe

  3. Cacha MySQL-frågor

  4. mysql:felkod [1267]; Olaglig blandning av sammanställningar (latin1_general_cs,IMPLICIT) och (latin1_swedish_ci,IMPLICIT) för operation '='