Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Querverweise mit SQL / PHP????

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Querverweise mit SQL / PHP????

    Wie realisiere ich am besten quwerverweise für ein online lexikon


    bisher gibt es 3 tabellen

    1. Themenbereich (ID / Themenbereich)
    2. Begriffe (ID / ThemenID / Begriff)
    3. Erklärung zum Begriff (ID / BegriffID / Erklärung)

    wie macht man jetzt das mit den querverweisen denn in der begriffserklärung können ja n andere vorhandene begriffe auftauchen....

    wenn ich den text (Erklärung) zerlege und alle wörter in der 2. Tabelle suchen lasse habe ich irgendwie die befürchtung das das dann bei 50.000 Begriffen und mehreren besuchern gleichzeitig den server in die knie gehen lässt...

    danke fürs helfen

  • #2
    Du könntest die auszugebene Erklärung in einzelne Wörter zerlegen. Die Begriffe aus der DB in ein Array packen und dann bei jedem Wort schauen, ob das ähnlich ist.

    Das ist allerdings sehr Serverlastig, manuell wäre aber auch eine Lösung :wink:

    wilko

    Kommentar


    • #3
      Re: Querverweise mit SQL / PHP????

      rekursive DB Abfragen:
      Zitat von JOat
      wie macht man jetzt das mit den querverweisen denn in der begriffserklärung können ja n andere vorhandene begriffe auftauchen....
      Laß den User neu suchen. Rekursive DB Abfragen sind pfui... <g>

      Kommentar


      • #4
        Re: Querverweise mit SQL / PHP????

        Zitat von meikel
        Laß den User neu suchen. Rekursive DB Abfragen sind pfui... <g>
        Die sind aber sehr praktisch! Aber mir fallen nur Realisierungen ein, wo man maßig Serverkapazitäten braucht!

        wilko

        Kommentar


        • #5
          Re: Querverweise mit SQL / PHP????

          Zitat von wilko
          Die sind aber sehr praktisch!
          Na klar wäre das praktisch, aber solchen Rekursionen bringst Du MySQL um. Mit MSSQL oder Oracle wäre sowas kein Thema...

          Kommentar


          • #6
            Zitat von wilko
            Du könntest die auszugebene Erklärung in einzelne Wörter zerlegen. Die Begriffe aus der DB in ein Array packen und dann bei jedem Wort schauen, ob das ähnlich ist.

            Das ist allerdings sehr Serverlastig, manuell wäre aber auch eine Lösung :wink:

            wilko
            manuell is mir zu doof, da das bei 10.000 Einträgen zu umständlich ist....

            und wärend der ausgabe möchte ich das auch nicht machen da das zu serverlastig wird... neu suchen lassen möchte ich auch nicht.

            wie schauts aus wenn ich das wärend des eintragens mache...

            achja weiß vllt jemand wie die suchindexierungen wie sie in foren verwendet werden (zb. phpBB) funktionieren....

            Kommentar


            • #7
              Der Suchstring wird auseinandergenommen und dann wird nach jedem Wort einzeln gesucht!
              Das ist grob die Gangart.

              Aber schau mal hier: http://phpfriend.de/forum/viewtopic.php?t=15352

              wilko

              Kommentar


              • #8
                Zitat von wilko
                Der Suchstring wird auseinandergenommen und dann wird nach jedem Wort einzeln gesucht!
                Das ist grob die Gangart.

                Aber schau mal hier: http://phpfriend.de/forum/viewtopic.php?t=15352

                wilko
                für was ist dann die tabelle wo lauter einzellne wörter drinstehn (phpBB)??? Wird die anstelle der Tabellen mit Topic und Thread inhalt durchsucht....?

                Kommentar


                • #9
                  Zitat von JOat
                  wie schauts aus wenn ich das wärend des eintragens mache...
                  Das Problem dabei ist, daß MySQL weder foreign keys noch subselects kennt. Wenn Du bei einem Antworttext mit 20 Wörtern noch mal in der DB suchen willst, ob es für ein oder mehrere Worte ebenfalls noch Erklärungen gibt, hast Du schon 21 Abfragen. Wenn es dabei 10 Treffer gibt und Du nach denen ebenfalls noch suchen willst, kommt irgend wann mal der Punkt, an dem dem Server der RAM ausgeht, MySQL zu swappen anfängt und die Kiste schlagartig so "schnell" wie ein ZX81 wird.

                  Kommentar

                  Lädt...
                  X