Digital Geography

17. Oktober 2014

HeidiSQL vs. pgAdmin III – ein kleiner Geschwindigkeitstest

HeidiSQL, ein kostenloser Datenbank-Client, unterstützt in den neuen Nightly-Versionen PostgreSQL/PostGIS-Datenbanken. Da das Programm mit MySQL schon immer eine gute Figur gemacht hat und ich den mitgelieferten Client pgAdmin III oftmals als langsam und nicht sehr bedienungsfreundlich empfunden habe, musste ich gleich mal testen, wie der Unterschied in der Performance ist. Ich möchte gar nicht weiter auf die Features, Bedienung etc. eingehen, da es zum einen Geschmackssache ist und der Support für PostgreSQL bei HeidiSQL noch ganz neu ist, sondern viel mehr auf die benötigten Zeiten von SQL-Abfragen. Das ist hier nur ein kleiner Test, der später eventuell noch einmal durch einen weiteren mit komplexeren Abfragen ergänzt wird.

Als Grundlage dienen hier die Nightly-Version 8.3.0.4840 bei HeidiSQL und die aktuell stabile 1.18.1 Version von pgAdmin III. Außerdem habe ich die neue pgAdmin 1.20 beta 2 mit in den Test aufgenommen, allerdings war der Unterschied zu V. 1.18.1 marginal. Als Server diente die aktuell stabile Version 9.3.5.1 von PostgreSQL mit der PostGIS-Erweiterung 2.1.4. Das Testsystem umfasst einen Intel i5-4670K Prozessor @3.40Ghz, 16 GB Ram, Windows 8.1 (64bit), eine SSD Systemplatte und eine HDD auf der der PostgreSQL data-Ordner lag. Auf einem i3, 8GB, Win 7 Prof. Rechner fielen die Verhältnisse ganz ähnlich aus. Jede SQL-Abfrage habe ich 5x getestet. Alle Werte sind in Sekunden angegeben.

Abfrage 1: SELECT * FROM table; Das Ergebnis umfasst 52 x 18.823 Zeilen

HeidiSQL pgAdmin III Differenz
2,509 49,639 47,130

Abfrage 2: SELECT * FROM table2; Das Ergebnis umfasst 25 x 11.511 Zeilen

HeidiSQL pgAdmin III Differenz
0,247 4,866 4,619

Abfrage 3: SELECT ST_AsKML(table.geom) FROM table, table2 WHERE ST_Contains(table2.geom, table.geom); Das Ergebniss umfasst 1 x 18.801 Zeilen

HeidiSQL pgAdmin III Differenz
1,381 1,403 0,022

Abfrage 4: SELECT ST_Transform(geom, 900913) a, ST_Transform(geom, 3857) b FROM table2; Das Ergebniss umfasst 2 x 11.511 Zeilen

HeidiSQL pgAdmin III Differenz
1,403 8,978 7,575

Der Unterschied liegt teilweise also bei fast 2000%, was doch sehr viel im täglichen Betrieb sein kann. Ich bin immer wieder begeistert, was kostenlose Programme teilweise so leisten und wie motiviert die Entwickler sind. Auf Bug-Meldungen reagiert der Entwickler teilweise super schnell mit einem neuen Nightly-Build. Da musste ich einfach eine kleine Spende senden.

Vielleicht war es ja für einige, die mit PostgreSQL/PostGIS arbeiten oder pgAdmin III unzufrieden waren interessant.