Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql - where-Klausel langsamer als vollständiger Scan

Versuchen Sie, den Index auf beide Spalten (status, id) zu ändern

Wie ich es sehe, haben Sie keinen Index für die ID

Der ANSI-Standard (Suchen Sie nach „Scalar expressions 125 ") besagt, dass COUNT(*) Geben Sie die Zeilenanzahl einer Tabelle an:Sie soll von Anfang an optimiert werden.

Deshalb COUNT(*) ist viel schneller als COUNT(id) . COUNT(*) kann den status verwenden Index. COUNT(id) wird diesen Index nicht verwenden und es gibt keinen anderen gültigen Index

Was ist der gruppierte Index und was ist der PK? Sie haben beides (auch wenn derselbe Index), nicht wahr?