sql >> Database >  >> RDS >> Mysql

Mysql - waar clausule langzamer is dan volledige scan

Probeer de index te wijzigen in beide kolommen (status, id)

Zoals ik het zie, heb je geen index op id

De ANSI-standaard (zoek naar "Scalar expressions 125 ") stelt dat COUNT(*) geef het aantal rijen van een tabel:het is de bedoeling dat deze vanaf het begin wordt geoptimaliseerd.

Dit is waarom COUNT(*) is veel sneller dan COUNT(id) . COUNT(*) kan de status . gebruiken inhoudsopgave. COUNT(id) zal deze index niet gebruiken en er is geen andere geldige index

Wat is de geclusterde index en wat is de PK? Je hebt beide (zelfs als het dezelfde index is), toch?



  1. SQL SUM-functie zonder gegevens te groeperen

  2. Laravel 5.1 - Volgorde van twee kolommen werkt niet zoals bedoeld

  3. De ADO.NET-provider met de invariante naam 'MySql.Data.MySqlClient' is niet geregistreerd in het configuratiebestand van de machine of de toepassing

  4. Robuuste sorteringen met ICU-ondersteuning in PostgreSQL 10