sql >> Database >  >> RDS >> Mysql

Twee dubbele indexen met dezelfde kolommen

Ja, het kan effect hebben.

Natuurlijk nemen de twee indexen extra ruimte in beslag op de schijf en ook in het geheugen als ze worden gebruikt.

Maar ze zorgen er ook voor dat de query-optimizer meer werk doet om het voordeel van elke index tijdens elke SELECT te berekenen. Hoe meer indexen u heeft, hoe meer gevallen het moet vergelijken. Het loont dus de moeite om echt overbodige indexen te elimineren.

Zoals anderen ook al hebben opgemerkt, worden indexen bijgewerkt tijdens INSERT/UPDATE/DELETE-bewerkingen, dus hoe meer indexen u heeft, hoe meer overhead dit vertegenwoordigt. Indexen die veel worden gebruikt, rechtvaardigen hun eigen overhead, maar dubbele indexen kosten meer overhead zonder bijkomend voordeel.

Als je geïnteresseerd bent, heeft Percona Toolkit een tool pt-duplicate-key-checker die al uw tabellen doorzoekt naar gevallen zoals deze.



  1. Hoe installeer ik een Python-pakket op Linux zodat het wordt gevonden door de reeds werkende PostgreSQL 13 plpython3u-extensie?

  2. Hoe de korte maandnaam van een datum in MySQL te krijgen

  3. Kan JavaScript verbinding maken met MySQL?

  4. Maak een enkele tabel in mysql alleen-lezen