sql >> Database >  >> RDS >> Mysql

Kan het maken van indexen bestaande indexen gebruiken?

MySQL bouwt meestal de hele tabel opnieuw op wanneer u een index toevoegt, zodat alle bestaande ook opnieuw worden opgebouwd. Dit kan traag zijn.

De enige uitzondering is het toevoegen van een index met behulp van de InnoDB-plug-in, wat niet het geval is.

Voor zover ik weet, voert het altijd een volledige tabelscan uit bij het bouwen van een index, maar het KAN een indexscan uitvoeren als u een index toevoegt die dezelfde (of een subset) kolommen heeft als een andere index. Dergelijke indexen zijn normaal gesproken alleen nuttig als de kolommen in een andere volgorde staan.

Als u stock mysql gebruikt, hoe meer indexen u heeft, hoe langzamer het zal zijn om een ​​nieuwe te maken, omdat het ook bestaande indexen opnieuw opbouwt.

Met de plug-in denk ik dat het geen verschil maakt.

Hoe dan ook, als u van plan bent meerdere indexen toe te voegen, moet u ze allemaal tegelijk doen en niet één tegelijk.



  1. Json opslaan in MySQL-database vanuit Node.js

  2. Hoe te controleren of de kolom virtueel is in Oracle?

  3. JTable-kolomnamen worden niet afgedrukt

  4. ClassNotFoundException:oracle.jdbc.OracleDriver