fanelf.de: mysql_query() in php speicher?

Beitrag lesen

wo bewegt sich das LIMIT? wenn bspw. der offset 5678901 in dem ergebnis ist. ich hatte das ja schon mal in dem anderen post angesprochen.
dann muß mysql oder auch jede andere db-engine ja einen scope über alle zeilen haben und die offset zeilenmenge verwerfen. das wäre dann zwar innerhalb mysql und hat nichts mit php zu tun, ist aber trotzdem interessant.

in bezug auf php würde die mit limit begrenzte zeilenzahl geliefert. das limit könnte ja bspw. von offset 123456 eine anzahl von 654321 sein. dann würde php ja schon mit query eine ganze menge an daten abholen, welche ja auch im speicher stehen müßten. dies ist schwer vorstellbar, und die fetch und cursor von php-mysql würden sich nur auf diesen speicher beziehen.

die angesprochene cursormöglichkeit setzt allerdings keine komplett gelesenen ergebniszeilen voraus. mag bei php-mysql anders sein, bei db2 und oracle zumindest ist dem nicht so. dort steht nur eine pointer-liste zu den ergebniszeilen, auf welchem sich der cursor bewegt. erst beim fetch wird die datenzeile gelesen. diese db2 werden aber idr. auf 'großen' systemen eingesetzt. das php-mysql vorgehen wäre dort aus performance und speichergründen nicht möglich.