Textdatei performant durchsuchen

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

  • Textdatei performant durchsuchen

    Hi Leute.

    Ich möchte eine Textdatei mit bis zu 100.000 Textzeilen, in denen jeweils eine Nummer steht durchsuchen.
    D.h. ich habe eine Nummer und suche nun, ob diese in einer der Zeilen steht.

    Nun zu meiner Frage, wie kann man das ganze am performantesten lösen?
    Erst alle Zeilen in ein Array und dann suchen oder die Datei zeilenweise auslesen und suchen?

    Wie würdet ihr das ganze machen?

    Gruß
    Tgod
    ---^_-(oOOo)-_^---
    ° Tgod °
    ------------------
    www.twintech.de

  • #2
    PHP-Code:
    $file=file("pfad/zur/datei.txt");

    if (
    in_array("mein Wert"$file)) echo "Wert vorhanden"

    Kommentar


    • #3
      Danke dir...aber ist das denn ok...bei so vielen einträgen die dinger in ein array zu packen?
      Geht das auch noch bei 500.000 Einträgen? Oder gibts da irgendwann eine Grenze bei php?

      Gruß
      Tgod
      ---^_-(oOOo)-_^---
      ° Tgod °
      ------------------
      www.twintech.de

      Kommentar


      • #4
        naja, bei sovielen Einträgen würde ich das lieber über ein Datenbank machen und nicht in einem File ablegen. Aber gehen würde das schon. Kommt auch darauf an, was da sonst noch an Daten drin steht.

        Kommentar


        • #5
          kannst es doch einfach mal antesten. ist so viel arbeit ja nicht,

          Kommentar


          • #6
            ja sind die denn sortiert?
            eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

            Kommentar


            • #7
              @tgod: verrätst du uns, was du vor hast?

              Kommentar


              • #8
                Also ich habe eine Textdatei da stehen tausende IDs drin.
                Bei einer Registrierung muss überprüft werden, ob die bei der Registrierung eingegebene ID in der Textdatei steht...denn dort stehen alle ID drin die sozusagen gültig sind.

                Die Textdatei ist wahrscheinlich nicht sortiert.


                Habe mal eine suche mit der Methode von BrainBug bei einer Textdatei mit 40.000 Zeilen gemacht. Das ging so schnell, dass man es kaum gemerkt hat. Also denke ich mal das es bis 200.000 Einträgen oder sowas auch nicht viel langsamer werden wird.

                Gruß
                Tgod
                ---^_-(oOOo)-_^---
                ° Tgod °
                ------------------
                www.twintech.de

                Kommentar


                • #9
                  solange die arrays nicht mehrdimensional werden, denke ich ist das die einfachste lösung.

                  Kommentar

                  Lädt...
                  X