Holger,
sehr gute Punkte, ich bin da voll bei dir und jeder der mit Softwareentwicklung zu tun hat, kann und soll sich ruhig auch mal auf die Netzwerkebene begeben. Entweder mit deiner Proxy-App, Wireshark etc. Delphi Clientbibliotheken (IBObjects, IBDAC, ...) bieten auch oft selbst eine Art "
SQL Monitor" Komponente an, die sehr interessante Einblicke gibt, was denn da so ausgeführt wird. So auch die Firebird Trace
API, aber alles halt nicht auf Netzwerkpaket-Ebene. Was aber die Trace
API z.b. bietet ist die Anzahl der zurückgegeben Rows einer ausgeführten
SQL Abfrage.
Delphi hat
RAD (Rapid Application Development) vor vielen, vielen Jahren geprägt und eben Konzepte wie datensensitive Komponenten etc. eingeführt, aber zu Beginn halt auch sehr stark auf lokale dateibasierten Datenbanken ausgerichtet, wo viele dieser "Probleme" nicht auftauchten. Da war es egal, wenn eine datensensitive Lookup-Komponente mehr im Hintergrund macht, als man glaubt, z.b. alle Daten "lokal" rüberholen und dann das Locate darauf ausführen. Fürs Netzwerk und PingPong zwischen Client und Server nicht wirklich hilfreich.