Matthias: Zeitverbrauch PHP, MySQL

Hallo,

gibt es irgendwo Hinweise bzw. Referenzen über den Zeitaufwand verwandter Operationen?

Also z.B. um wieviel eine komplexe Abfrage mit MySQL schneller ist als ein entsprechendes PHP-Script falls überhaupt.

Hintergrund:
Ich möchte meine Skripte auf den möglichst minimalen Zeitaufwand optimieren

Grüße, Matthias

  1. Hallo!

    Also z.B. um wieviel eine komplexe Abfrage mit MySQL schneller ist als ein entsprechendes PHP-Script falls überhaupt.

    Du vergleichst Äpfel mit Birnen. Wie soll ein PHP Script eine MySQL Abfrage ersetzen?

    mfg
      frafu

    1. Na sicher vergleiche ich Äpfel mit Birnen, in diesem Falle hieße die Frage wohl, welche Frucht ist schneller reif.

      Ok, ich gebe ein besseres Beispiel:

      Die Abfrage SELECT a,b FROM x ist schneller wie die Abfrage SELECT a,b FROM x WHERE a=... AND b =... AND a<>b AND ..... GROUP ... ORDER ... usw.

      Man könnte aber auch die erste Abfrage nehmen und das Ergebnis mittels PHP-Skript auf das Ergebnis der zweiten Abfrage trimmen.

      Natürlich ist der direkte Weg über SQL schneller, nur, um wieviel?

      Grüße, Matthias

      1. Hallo Freunde des gehobenen Forumsgenusses,

        Natürlich ist der direkte Weg über SQL schneller, nur, um wieviel?

        Messe es doch einfach mal.

        Gruß
        Alexander Brock

        --
        Ceterum censeo Carthaginem esse delendam
  2. Hallo,

    gibt es irgendwo Hinweise bzw. Referenzen über den Zeitaufwand verwandter Operationen?

    Es gibt fuer ale moegllichen und unmoeglichen Sprachen Profilingmoeglichkeiten.
    Die koennen allerdings natuerlich nur den relativen Zeitaufwand innerhalb des Programmes messen (unwichtig) und Aufrufe zaehlen (wichtig). Aber mehr braucht man ja auch nicht, einen oder mehrere Bottlenecks zu finden.

    Also z.B. um wieviel eine komplexe Abfrage mit MySQL schneller ist als ein entsprechendes PHP-Script falls überhaupt.

    Das ist unbekannt.
    Normalerweise ist die Datenbankabfrage selber der Bottleneck. Das setzt aber natuerlich eine gute Tabellenorganisation voraus!

    Eine Datenbank ist hervorragend geeignet aus einer Riesenmenge Daten einen kleinen, genau bestimmten Teil rauszusuchen. Eine Sprache ist hingegen dafuer zustaendig diese ausgesuchten Daten weiterzuverarbeiten.

    Ausserdem duerftest Du es mit einer Multiuserumgebung zu tun haben, Datenbank und PHP laufen meist auf getrennten Maschinen (das muessen keine getrennten Kisten sein!), sollten es zumindest, auf diesen Maschinen koennen noch unterschiedliche andere Dinge laufen und unterschiedliche Last erzeugen usw usf. Das musst Du alles mit einbeziehen.

    Ich möchte meine Skripte auf den möglichst minimalen Zeitaufwand optimieren

    Dafuer habe ich die ideale Optimierung:
    Solange sich keiner beschwert: lass es.

    Waehrend der Zeit arbeitest Du ein Buch ueber Algorithmen und Datenstrukturen durch (z.B. den Sedgewick) sowie die Dokumentationen der von Dir gewaehlten Sprache und DB und suchst Dir im Netz ordentlich Kommentare zu eben jenen Programmen raus. Bei PHP und MySQL duerfte das kein grosses Problem darstellen. Zur Verbindung PHP/MySQL duerfte es auch hier im Archiv viele Kommentare geben.

    so short

    Christoph Zurnieden

  3. yo,

    Also z.B. um wieviel eine komplexe Abfrage mit MySQL schneller ist als ein entsprechendes PHP-Script falls überhaupt.

    grundsätzlich würde ich sagen, dass dbms die daten immer schneller selektiert als php, weil sie dafür optimiert sind. sicherlich mag es ausnahmen geben. aber unter dem strich heisst es immer ausprobieren, die theorie und die praxis weichen doch all zu oft voneinander ab.

    Ilja