:::: MENU ::::

WebDevExp

Meine Erfahrungen in der Webentwicklerwelt

Posts Tagged / group by

  • Sep 07 / 2009
  • 0
mysql

SQL Peformanceoptimierung: GROUP BY

Wenn möglich, sollte GROUP BY normalerweise verhindert werden. Es sorgt in (fast) jedem Fall für temp-Tables, die den Server unter Umständen recht schnell an seine Grenzen treiben (RAM, CPU). Oft kann man hier auf simple Subselects (oder Derived-Queries) zurückgreifen, um an die gewünschten Infos zu kommen.

Für den Fall, dass ein GROUP BY aber sein muss, das Ergebnis aber keiner Sortierung bedarf, sollte man ein ORDER BY NULL hinzufügen, da MySQL das grupperte Ergebnis sortiert, durch das Sortieren nach NULL, verhindert man dies und kann das Query unter Umständen noch beschleunigen.

SELECT a, COUNT(b) FROM test_table GROUP BY a ORDER BY NULL;