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 |
+--------------------------+