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

Hvornår skal databaseindekser genopbygges?

Der er ingen grund til at 'genopbygge' et indeks. De holdes altid opdateret. Måske henviste han til at genopbygge bordet. Afhængigt af dine brugsmønstre og skema kan du få fragmenterede sider i InnoDB, og jeg tror også i MyISAM. Genopbygning af tabellen kan forbedre ydeevnen ved at slippe af med fragmentering af dine data på disken. Jeg bruger ikke MyISAM-tabeller regelmæssigt, men jeg tror, ​​det anbefales at køre 'OPTIMIZE TABLE' med bestemte brugsmønstre. Se MySQL-dokumenterne på OPTIMER TABEL for nogle gode oplysninger om både MyISAM og InnoDB.

Jeg er ikke så fortrolig med MyISAM-forviklinger, men med InnoDB er det rigtigt, at statistik kan blive forældet. Databasen fører estimerede statistikker over, hvordan dine data er fordelt for et givet indeks, og det er muligt for dem at blive forældede, men MySQL/InnoDB har nogle indbyggede funktioner til at forsøge at holde statistik opdateret. Du behøver normalt ikke bekymre dig om det.

Så hvis du bruger InnoDB, er svaret nej, du behøver typisk ikke aktivt at gøre noget for at holde dine indekser til at fungere godt. Jeg er ikke så sikker med MyISAM, jeg tror, ​​det er mere almindeligt at skulle optimere disse tabeller regelmæssigt.



  1. Forskel mellem tidsstempler med/uden tidszone i PostgreSQL

  2. Brug af LOAD DATA LOCAL INFILE i Java

  3. Hvordan linker Wordpress indlæg til kategorier i sin database?

  4. Sådan bruges GROUP BY-klausul i SQL