Performance Frage zu count from subquery

Hallo zusammen,

kann mir jemand erklären was genau der Unterschied vor allem in der Performance und dem Speicherverbrauch dieser beiden Queries ist?

select count(id) from mytable;
select count(*) from (select id from mytable) tab;

Meine Vermutung ist, dass beide gleich performant sind und gleich viel Speicher belegen. Gegenvermutung und Beweise erwünscht :slight_smile:

Danke und Gruß,
Florian

Performance dürfte mehr oder weniger gleich sein.

Letztendlich kannst Du das aber selber rauskriegen indem Du Dir den execution plan anzeigen lässt. Wenn beide Abfragen den gleichen Plan produzieren, dann ist auch die Performance und der Speicherverbrauch identisch.

Das Problem ist aber, dass die beiden Abfragen funktional nicht identisch. D.h. sie können unterschiedliche Ergebnisse liefern wenn die id Spalte NULL sein darf.