Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe eine MySQL-DB mit ca. 31000 Datensätzen und einer Größe auf dem Server von ca. 3,5 MB.

Jetzt möchte ich diese Datei mittels PHP einlesen lassen, das funktioniert auch grundsätzlich. Allerdings bricht der Rechner jedes Mal mit der Windows-Fehlermeldung ab, daß nicht genug virtueller Systemspeicher zur Verfügung stünde.

MySQL-Version ist 3.23.48 und Betriebssystem des Rechners ist Windows NT.

Hat jemand einen Tip, was ich da optimieren könnte? Es kann doch nicht sein, daß ich jetzt schon an den Leistungsgrenzen des Rechners bin...?!

Danke für gute Tips ;),

Gruß

etops

Geschrieben
Original geschrieben von etops

Hat jemand einen Tip, was ich da optimieren könnte? Es kann doch nicht sein, daß ich jetzt schon an den Leistungsgrenzen des Rechners bin...?!

Wieso nicht? Schlecht programmiert, Endlosschleife, Full Joins usw usw.

An der Datenbank Größe liegt es mit Sicherheit nicht, sondern nur daran was du damit machst.

Und wenn ich an diesen Thread denke, wundert mich die Meldung ehrlich gesagt nicht gerade. ;)

Gruß Jaraz

Geschrieben

Eine Endlosschleife ist es deswegen nicht, weil es - wenn ich den Rechner neu boote und nur die DB laufen lasse, zwar lange dauert aber funktioniert (dann kommt auch keine Fehlermeldung).

Joins sind ebenfalls nicht enthalten.

Es ist nur eine Tabelle, die zeilenweise durchlaufen und dann ausgegeben wird.


while($zeile = @ mysql_fetch_array($ergebnis))
{
blabla
}
[/PHP]

Der Hinweis auf den anderen Thread war ja nett aber damit hat es im Moment gar nichts zu tun.

Gruß

etops

Geschrieben

Dann wäre eine genaue Fehlermeldung nicht schlecht.

Außerdem welcher webserver, php Version, exe oder modul.

Schließt du alles wieder, was du benutzt? (Connection, Filehandler usw)

Gruß Jaraz

Geschrieben

Hallo,

die Fehlermeldung im typischen Windows - Look-and-Feel heißt:

"Es steht nicht genügend virtueller Systemspeicher zur Verfügung"

Syntaxfehler sind nicht vorhanden und alles andere wird abgefangen und/oder geschlossen -> unter der while-Schleife steht noch folgendes:


// Verbindung mit DB aufbauen
if (!($connection = @ mysql_connect($hostname,
$username,
$password)))
die("Cannot connect");

if (!(mysql_select_db("testdata", $connection)))
showerror();

# $abfrage beinhaltet die SQL-Abfrage

// Erste Abfrage (SELECT) schicken
if (!($ergebnis = @ mysql_query ($abfrage, $connection)))
showerror();

// Ergebnisse anzeigen
displayData($ergebnis);

// Schließen der Verbindung
if (!(mysql_close($connection)))
showerror();
[/PHP]

Webserver ist Apache 1.3.23 mit PHP 4.1.0 als exe (hmm, sagte man mir zumindest - kann ich das selbst auch irgendwo herausfinden oder weiß das nur der Admin :confused: ) und MySQL 3.23.48.

Danke + Gruß

etops

Geschrieben
Original geschrieben von etops

Webserver ist Apache 1.3.23 mit PHP 4.1.0 als exe (hmm, sagte man mir zumindest - kann ich das selbst auch irgendwo herausfinden oder weiß das nur der Admin :confused: ) und MySQL 3.23.48.

Hm, ich habe mit der Exe Version auch ein paar Schwierigkeiten gehabt und beim Apache würde ich auf alle Fälle die Modul Variante wählen.

Du kannst dir mit <?php phpinfo(); ?> mal die Konfiguration ausgeben lassen. Wenn dann irgendwo php.exe auftaucht, benutzt ihr nicht das Modul.

Gruß Jaraz

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...