Jede Anfrage einzeln oder Tabelle in Array speichern

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

  • Jede Anfrage einzeln oder Tabelle in Array speichern

    Hallo,

    was wäre schneller bzw. System schonender?

    Ich habe eine Tabelle mit 5000 Einträgen und möchte ca. 500 Werte prüfen, ob sie in der Tabelle vorhanden sind.

    Wäre es jetzt besser wenn ich die komplette Tabelle in einen Array oder ein Objekt speicher und dann 500 x prüfe ob der Wert in dem Array existiert oder für jeden Wert einen Abfrage der Datenbank ausführe (500 x).

    Gruß

    Makus

  • #2
    Wie wäre es per SQL mit WHERE ... IN?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Verstehe ich nicht ganz, ich laufe die 500 Werte durch und möchte von jedem wissen ob dieser Wert in den 5000 Datensätzen vorhanden ist, wenn nicht wird wird mit dem Wert weiter gearbeitet.

      Also geht es mir nicht um die Werte in der Datenbank, sondern um die Werte in dem Array die nicht in der Datenbank vorhanden sind (die sollen später angzeigt werden um zu entschieden was damit passiert).
      Zuletzt geändert von RettNews; 18.11.2014, 13:40.

      Kommentar


      • #4
        Die beiden Möglichkeiten hast Du ja schon aufgezeigt. Lässt sich ja eigentlich relativ schnell umsetzen. Messe (microtime) die Zeit und Du hast die Antwort was schneller abgearbeitet wird.
        Webentwickler aus Berlin

        Kommentar


        • #5
          Für jeden der 500 Werte eine extra Datenbank-Abfrage wäre die schlechteste Möglichkeit.

          Ich würde trotzdem das von Kropff vorgeschlagene WHERE IN probieren – und damit alle Werte (von den 500) selektieren, die in der Datenbank bereits vorhanden sind. Dann brauchst du anschließend nur noch die „Differenz“ aus dieser Ergebnismenge und deinem 500-Werte-Array zu bilden.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X