PHP: Was ist schneller: fopen oder MySQL

Hallo !

Nun, ich habe gestern angefangen, mir einen Chat auf PHP-Basis aufzubauen, hat auch relativ gut funktioniert - eher aber nicht. Das Auseinanderfrimeln und zusammensetzten von unterschiedlichen Daten aus Dateien ist dann echt bescheuert. Nun habe ich es heute auf DB umgebaut: es nutzt 2 MySQL-Tabellen, users und chat, und das ganze geht "ganz" gut.

Meine Frage: Was

- geht schneller
  - braucht weniger Ressourcen

: fopen (oder ähnliches) oder eine MySql-Datenbankabfrage ?

thx,

yPHP

--
<img src="http://opera9-servedby.advertising.com/site=0000126885/mnum=0000147703/genr=1/logs=0/mdtm=1071243849/bins=1" border="0" alt="">

--> soll ich mich melden ? *lol* ;-)
    > theoretisch bin ich ja nur PHP-programmer

  1. Das ist so nicht genau zu beantworten. Das ist abhängig davon, wie schnell eine Verbindung zum SQL-Server aufgebaut werden kann (und ob du eine persitente Verbindung aufbaust oder nicht) und dann ist es abhängig von der Komplexität der Abfragen. Dann wäre es wichtig zu wissen, wieviele Verbindungen in etwa gleichzeitig aufgebaut werden sollten und und und.
    In jedem Fall denke ich aber, daß Du keinen Unterschied bemerken wirst, wenn Du nicht wirklich exakte Zeitmessungen vornimmst. Der User wird's also wohl nicht bemerken...
    Ich würde mit einer MySQL-Datenbank arbeiten. Ich finde es bei weitem bequemer hier SQL-Abfragen einzusetzen.

    1. hallo rob,

      Das ist so nicht genau zu beantworten. Das ist abhängig davon, wie schnell eine Verbindung zum SQL-Server aufgebaut werden kann (und ob du eine persitente Verbindung aufbaust oder nicht) und dann ist es abhängig von der Komplexität der Abfragen. Dann wäre es wichtig zu wissen, wieviele Verbindungen in etwa gleichzeitig aufgebaut werden sollten und und und.

      Ja, pro Besucher max. 3 Verbindungen gleichzeitig (Frameset), da min. 2 Besucher nötig sind (bei einem Chat) also _maximal_ 6 verbindungen gleichzeitig. Die Abfragen sind sehr, sehr simpel - einfach so was einfaches wie eben "DELETE * WHERE chatter = "..."" und so was in der art - nix kompliziertes (generell mache ich komplizierte Suchstruktueren bei mir sowieso mit PHP, also komplette mysql-tabelle einlesen und dann mit PHP rumwerkeln).

      In jedem Fall denke ich aber, daß Du keinen Unterschied bemerken wirst, wenn Du nicht wirklich exakte Zeitmessungen vornimmst. Der User wird's also wohl nicht bemerken...

      tja, exakt: mysql gibt dir da mal aus, dass die Abfrage 0,01 sec gedauert hat...

      Ich würde mit einer MySQL-Datenbank arbeiten. Ich finde es bei weitem bequemer hier SQL-Abfragen einzusetzen.

      finde ich auch.

      PHP

      1. (generell mache ich komplizierte Suchstruktueren bei mir sowieso mit PHP, also komplette mysql-tabelle einlesen und dann mit PHP rumwerkeln).

        Warum das??? PHP ist deutlich langsamer als MySQL... Das solltest Du versuchen Dir abzugewöhnen. Es ist immer besser mit einer fertigen Abfrage zu arbeiten, als das dann alles "zusammenzuschnipseln".

        Gruss Stefan

        1. (generell mache ich komplizierte Suchstruktueren bei mir sowieso mit PHP, also komplette mysql-tabelle einlesen und dann mit PHP rumwerkeln).

          Warum das??? PHP ist deutlich langsamer als MySQL...

          echt ??? Oh !
          Dachte nicht !

          MYSQl