Thread SELECT DISTINCT(...) beschleunigen (12 answers)
Opened by moritz at 2007-10-24 23:45

moritz
 2007-10-26 13:24
#101376 #101376
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Danke für die vielen Anregungen.

Mit einem korrekt gesetzten Index habe ich die Query auf etwa 1.3 Sekunden beschleunigt, was nicht optimal aber gerade noch akzeptabel ist.

Der Rest des Performance-Tweakings mache ich mit caching ;-)

Auf eine zusätzliche Tabelle will ich gerne verzichten, da mir das den Aufwand nicht wert ist.

Update: habe nochmal nachgemessen, und die längste 'SELECT DISTINCT'-Query hat dieses mal nur 0.3s gedauert - also entweder ist mein Problem damit gelöst, oder die Datenbank hat etwas gecacht.

Code: (dl )
1
2
3
4
5
6
7
mysql> explain select distinct channel from irclog;
+----+-------------+--------+-------+---------------+-------------+---------+------+------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------+-------+---------------+-------------+---------+------+------+--------------------------+
| 1 | SIMPLE | irclog | range | NULL | channel_idx | 93 | NULL | 5 | Using index for group-by |
+----+-------------+--------+-------+---------------+-------------+---------+------+------+--------------------------+
1 row in set (0.00 sec)


Das "Using index for group-by" deutet eher auf gelöstes Problem hin ;)

View full thread SELECT DISTINCT(...) beschleunigen