sql >> Database >  >> RDS >> Mysql

Wanneer moeten database-indexen opnieuw worden opgebouwd?

Het is niet nodig om een ​​index te 'herbouwen'. Ze worden altijd up-to-date gehouden. Misschien bedoelde hij het herbouwen van de tafel. Afhankelijk van je gebruikspatronen en schema, kun je gefragmenteerde pagina's krijgen in InnoDB, en ik denk ook in MyISAM. Het opnieuw opbouwen van de tabel kan de prestaties verbeteren door de fragmentatie van uw gegevens op de schijf te verwijderen. Ik gebruik MyISAM-tabellen niet regelmatig, maar ik geloof dat het wordt aanbevolen om 'OPTIMIZE TABLE' uit te voeren met bepaalde gebruikspatronen. Zie de MySQL-documenten op OPTIMALISEER TABEL voor goede informatie over zowel MyISAM als InnoDB.

Ik ben niet zo bekend met de fijne kneepjes van MyISAM, maar met InnoDB is het waar dat statistieken verouderd kunnen raken. De database houdt geschatte statistieken bij over hoe uw gegevens zijn gedistribueerd voor een bepaalde index, en het is mogelijk dat deze verouderd raken, maar MySQL/InnoDB heeft een ingebouwde functionaliteit om te proberen de statistieken actueel te houden. U hoeft zich er meestal geen zorgen over te maken.

Dus als u InnoDB gebruikt, is het antwoord nee, u hoeft meestal niets actiefs te doen om uw indexen goed te laten presteren. Ik ben niet zo zeker van MyISAM, ik denk dat het gebruikelijker is om die tabellen regelmatig te optimaliseren.



  1. Methode om hiaten in tijdreeksgegevens in MySQL te vinden?

  2. MySQL-fout 1 (HY000) Probleem bij het maken van bestand Errcode 2

  3. Hoe schrijf je een CASE-instructie in SQL?

  4. Hoe vind ik het meest voorkomende resultaat in een kolom in mijn MySQL-tabel?