SlowCycle.de » 2008 » Juli
Der PRIMARY KEY `Id` ist per Definition UNIQUE, dennoch wird das DISTINCT vom Query OPTIMIZER
bei der Ausführung des Query nicht ignoriert.
Das schlägt sich natürlich erheblich auf die Ausführungszeit.
mysql> SELECT SQL_NO_CACHE COUNT(DISTINCT Id) FROM members; +--------------------------+ | count(DISTINCT Id) | +--------------------------+ | 71301 | +--------------------------+ 1 row in set (0.68 sec)
mysql> SELECT SQL_NO_CACHE COUNT(*) FROM members; +----------+ | count(*) | +----------+ | 71301 | +----------+ 1 row in set (0.03 sec)
Das Problem besteht zumindest noch in Version 5.0.32
mysql> SELECT VERSION(); +--------------------------+ | VERSION() | +--------------------------+ | 5.0.32-Debian_7etch3-log | +--------------------------+