sql >> Databasteknik >  >> RDS >> Mysql

Mysql - där klausul långsammare än full scan

Försök att ändra indexet till båda kolumnerna (status, id)

Som jag ser det har du inget index på id

ANSI-standarden (leta efter "Scalar expressions 125 ") anger att COUNT(*) ge radantalet för en tabell:den är avsedd att optimeras från början.

Det är därför COUNT(*) är mycket snabbare än COUNT(id) . COUNT(*) kan använda status index. COUNT(id) kommer inte att använda detta index och det finns inget annat giltigt index

Vad är det klustrade indexet och vad är PK? Du har båda (även om samma index), eller hur?



  1. Behöver dra sista x antalet rader baserat på datum

  2. HikariCP Postgresql Driver hävdar att de inte accepterar JDBC URL

  3. Hur läser man alla rader från en enorm tabell?

  4. MySQL ger läs ECONNRESET-fel efter inaktiv tid på node.js-servern