Rolf b: PHP Datenbank Zugriff

Beitrag lesen

Guter Hinweis. Damals (ist mind. 15 Jahre her) steckte ich im Thema so tief nicht drin und kannte nur MS SQL Server mit C#. Da gibt's keine buffered Query wenn man sie nicht selbst buffered, und ich habe einfach die mir bekannten Patterns auf PHP übertragen.

Aber wenn die Resultsets Abfragen groß sind, dann ist eine buffered query nicht das Mittel der Wahl, weil der Buffer den PHP Speicher sprengt. Anwendungsfall wäre hier der Abgleich zweier Resultsets (z.B. Bestimmen des Deltas zweier Abfrageergebnisse, wobei die anzuwendende Logik so komplex ist, dass sie sich nicht in SQL formulieren lässt). Ich gebe zu, das ist selten und im Web-Geschäft nicht so der Hauptanwendungsfall. Eher in einem Report, der in einem Batchjob erstellt wird.

Man könnte sich in dem Fall sicher auch Gedanken machen, wie man die Queries partitionieren kann und wieder gepufferte Queries verwenden; das könnte dem SQL Server ohnehin besser gefallen (den Fall, dass die Queries unterschiedliche DBs ansprechen müssen lasse ich mal weg, dann hat man ohnehin zwei Connections).

Zu MODUL vs CGI vs FastCGI: Die PHP Doku sagt, dass persistente Connections im CGI Modus keinen Sinn machen (weil PHP nicht persistent ist) und darum nur im Modul-Modus wirken. Etliche Kommentare zur Doku sagen aber, dass PHP im FastCGI Modus durchaus persistent ist und darum auch persistente Connections funktionieren würden. Keine Ahnung ob es stimmt, ich habe nicht die Gerätschaften um das zu testen.

Wir sind hier aber in einem Grenzfall des Connectionhandlings versunken, ich weiß nicht, ob das MB noch interessiert...

Rolf