Mailinglisten-Archive |
Ja, diesen schweinigen Effekt kenne ich nur zu gut, damit habe ich mehrere Tage Suche in allen möglichen Unterroutinen zugebracht. Ein Localhost-Server (OHTTP) zeigte diesen Effekt nicht, sondern nur unser zentraler Linux-Apache-Server. Wir haben es bislang nicht herausbekommen, warum Apache zeitweise Antworten auf SQL-Anfragen eines Perl-Programms irgendwoher aus dem Nirwana herzaubert, obwohl im Cache nix drin ist. Das hat auch nix mit mySQL zu tun, denn ich benutzte zu SQL-Abfragen das Sprite-Modul von Shishir Gundavaram (O'Reilly CGI-Programmierung im WWW). Auch hier: Expires=0, Script neu abspeichern und Server neu booten hat auch nicht immer geholfen. Ich hatte zeitweilig einen Zustand, daß alles gut ging bis zu dem Augenblick wo die SQL-Anfrage einen Fehler brachte, die Anfragen zu schnell nacheinander gesetzt wurden oder eben halt keine Daten für diese Anfrage aufzufinden waren - und schwupps war der Server wieder im Nirwana-Modus. Crazy, aber da kamen ab und zu Antworten zurück, die bereits mehrere TAGE alt waren (habe bei jeder neuen Perl-Korrektur einen Zähler mitgeführt. Leider habe ich keine Zeit gefunden, mit unserem Admin tiefer in das Problem einzusteigen. Ich mußte ich mit meinem Projekt weitermachen und deswegen habe ich einfach einen Schritt zurück gemacht wie in den guten alten PDS7.1-Basiczeiten... Nachdem ich eine bestehende Datenbank nur nach einem einzelnen Feld durchsuchen muß, habe ich die Daten ins CSV-Format exportiert - nach guter alter DB-Manier scanne ich jetzt bei jedem Update diese Textdatei und baue einen primitiven Index als Datei auf (so macht's eine RDBM ja schließlich auch). In dieser Indexdatei wühle ich jetzt rum, setze den Pointer per Seek in die Hauptdatei - und dann lese ich den kompletten Datensatz einfach rein und schiebe ihn in ein Array. Jaaa Jaaa das ist wirklich grausliges Programmiergepopels - aber hat den schönen Nebeneffekt, daß ich eine DB mit ca. 37000 (siebenunddreissigtausend) Datensätzen und Gesamtgrösse von ca. 6MB in max. 1 Sekunde durchgezogen habe. Mit SQL wäre das bestimmt Faktor 10 länger, aber halt auch eleganter ... Also wenn irgendeiner da draussen in der mySQL/Perl-Gemeinde einen Bugfix für diesen Nirwana-Effekt kennt dann bitte melden. Vaterlands-Dank wird zugesichert ;-)) Hans-Peter Sauer hans-peter.sauer_(at)_bellheim-kx.de -----Ursprüngliche Nachricht----- Von: Thomas Bach [mailto:babit_(at)_paus.ch] Gesendet: Samstag, 16. Dezember 2000 22:53 An: MySQL-NL Betreff: hat mySQL irgend ein cash? Hallo Liste ... und schon wieder ne frage bastle an einem mySQL,apache,perl-Projekt und hab folgendes Problem, das mir die arbeit ziemlich erschwert wenn ich datensätze ändere, kann ich die änderung mittels mysql wunderbar ansehen, wenn ich aber mein perl-script aufrufe, dass mir diese daten in den browser bringen sollte bringt er 'fast' immer die alten daten das perl-script neu abzuspeichern hilft weiter, ist aber mühsam ich dachte dann, dass es an dem apache (hab ihn nur für entwicklung- & testzwecke; projekt wird später bei einem provider aufgeschaltet, hoffe dort erscheint dieses problem nicht) oder an dem browser-cache (habe ich eigentlich mittels expires=>'now' ausgeschaltet) liegen könnte, da ich aber nicht wirklich ein apache-guru bin suchte ich dann den fehler doch anderswo ;) nun ist mir aufgefallen, dass der mySQL-Server anfragen entgegennimmt (über 'show status' abgefragt) aber dann beim browser doch die alten daten auftauchen kann mir da jemand weiterhelfen? sorry wenns tatsächlich OT ist das interessanteste an dem ganzen ist, dass ich den Netscape Navigator schon dazu brachte beim aktualisieren randommässig die alten und die neuen werte anzuzeigen der ie wechselte in diesem zustand immer schön ab ... Vielen Dank! Thomas Bach babit_(at)_paus.ch --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive