Internal Server Error bei einer SQL Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Internal Server Error bei einer SQL Abfrage

    Moin,

    sollte dieser Beitrag im SQL Forum besser aufgehoben sein, so bitte ich um Verschiebung. Da ich leider nicht weiss, ob es bei oben genanntem Fehler um einen Fehler in der Abfrage handelt oder um einen Fehler, der durch den PHP Interpreter ausgelöst wird, poste ich zunächst hier.

    Folgende SQL Abfrage ist Quell des Übels:

    Code:
    $sql = "SELECT * FROM  `tabelle` WHERE  `servertime` BETWEEN '$datum2' AND '$datum'  AND `field_2` = 'A' AND `field_1` = '$tracking'";
    Ein mysql_num_rows gibt mir aus, dass ca. 30.000 Datensätze ermittelt wurden. Darauf folgt ein 500 er Internal Server Error.

    Verwende ich ein kleineres Datumsinterval (bei dem 30.000 Datensätze Beispiel ist es eine Woche) klappt das Ganze einwandfrei.

    Ich weiss nicht mal, in welche Richtung ich ermitteln soll -.-

    Hat jemand eine Idee?

    Viele Dank im Voraus

  • #2
    Wie wär's denn erst mal mit einem Blick ins Error-Log des Servers ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Würde 1und1 den Error Log führen...
      Dort habe ich schon angerufen, Traffic Log, Mail Log usw. gibbet alles, nur keinen Error Log.

      Kommentar


      • #4
        Ein Error-log fuhren die mit Sicherheit, vermutlich darfst du schlicht und egreifend nicht drauf zugreifen. Bitte also um einen Auszug oder Wechsel den hoster. Alles weitere ist reines rumgerate.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Hallo,

          ein 500er kommt bei manchen Hostern, wenn der zugewiesene Arbeitsspeicher überschritten wird. Wenn du die Datensätze irgendwie alle in ein Array wirfst, um nachträglich noch irgendwas damit zu machen (sortieren, gruppieren, ...), könnte es daran liegen. Wenn du sie dagegen Datensatz für Datensatz ausliest und direkt ausgibst, könnte es funktionieren. Das kannst du ja mal testen.

          Falls es daran liegt, bleibt dir im Grunde also nur die Optimierung des Scripts hinsichtlich Speicherbedarf, wenn du die Datenmenge nicht begrenzen oder den Hoster wechseln willst.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Um einen Auszug des Error Logs habe ich bereits gebeten, leider ist die Antwort sehr konsequent, sie lautet Nein. Dabei habe ich erst von Strato zu 1und1 gewechselt, weil es bei strato noch andere Dinge gab, die mir nicht gefielen. Daher werde ich mal Amicas Rat folgen und mal in Richtung Speicherbedarf ermitteln.

            Während ich dies nun schreibe, habe ich das Statement mal verändert-

            Statt SELECT * ....

            nun

            SELECT servertime, field_1, field_2, field_3, field_4 ...

            Nun taucht der 500 erst auf, wenn ich eine Anzahl von Datensätze im Bereich 40.000 selecte. Wunderbar ;-) Nun mache ich mich daran, das ganze eine wenig zu optimieren.

            Kommentar


            • #7
              Willst du wirklich mehr als 40000 Datensätze gleichzeitig ausgeben?

              Kommentar


              • #8
                Ja, es geht um Koordinaten, die auf eine Karte geplottet werden, da können es durchaus um die 40-50k Datensätze werden.

                Kommentar


                • #9
                  Da kann man aber auch mit AJAX arbeiten, um diese Spots nachzuladen. Da machst du halt mehrere Hintergrund-Requests mit kleineren Datenmengen.
                  [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                  Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                  Super, danke!
                  [/COLOR]

                  Kommentar


                  • #10
                    Hm, das wäre Neuland für mich, da muss ich mich erstmal reinfrickeln.

                    Kommentar

                    Lädt...
                    X