sql >> Database teknologi >  >> RDS >> Mysql

MySQL slette sætning optimering

Hvis din DELETE er beregnet til at eliminere et stort flertal af rækkerne i den tabel, en ting, som folk ofte gør, er at kopiere kun de rækker, du vil beholde til en dublettabel, og derefter bruge DROP TABLE eller TRUNCATE for at slette den oprindelige tabel meget hurtigere.

Et indeks kan hjælpe med at finde de rækker, du skal slette, men sletning kræver opdatering af indekset. Efter sletning af mange rækker kan indekset være ubalanceret og kræver en vis vedligeholdelse med OPTIMIZE TABLE .

DATE_SUB() funktion er et konstant udtryk (den varierer ikke række for række), så forespørgselsoptimeringsværktøjet burde være smart nok til at udregne det og udføre beregningen én gang.

Du behøver ikke oprette et ekstra indeks for en primær nøgle. Den primære nøgle-begrænsning skaber implicit et indeks, der giver samme fordel som et ikke-primært nøgleindeks.

Et sammensat indeks er sandsynligvis lige så nyttigt som et enkelt-kolonne indeks, forudsat at dine søgekriterier refererer til den eller de kolonner længst til venstre i indekset. Den "sandsynligvis" advarsel skyldes, at de individuelle indeksnoder er større, og så det kræver mere hukommelse at cache indekset, men dette er en lille nok faktor til, at jeg ikke ville oprette et helt andet enkelt-kolonne indeks.



  1. PHP/MySQL:Vil du kombinere UPDATE-forespørgsler?

  2. Sådan konverteres en postgres-database til sqlite

  3. Sådan installeres MariaDB-databasen i Debian 10

  4. Fejl ved forsøg på at køre pgAdmin4