Ankündigung

Einklappen
Keine Ankündigung bisher.

Wieviele Datenbankabfragen sind okay?

Einklappen

Neue Werbung 2019

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

  • Wieviele Datenbankabfragen sind okay?

    Guten Tag Community,
    ich arbeite an einen großen Projekt, was sehr viel mit Datenbanken arbeitet. Bei diesen Projekt achte ich auch sehr auf die Performance, in der Programmierung als auch mit den Querys. Dennoch stellt sich mir die Frage, wieviele Datenbankabfragen okay sind (dies hängt sicherlich von der Größe der DB-Inhalte sowie die Server ab). Hierbei soll gesagt sein: big think!

    Dabei wird gezählt, wieviele Querys stattfinden, bis der Kunde die Seite sieht.

    Grüße und noch sonnigen Tag,
    Condor

  • #2
    So viele wie nötig, so wenig wie möglich.
    Anders kann man die Frage kaum beantworten.
    VokeIT GmbH & Co. KG - VokeIT-oss @ github

    Kommentar


    • #3
      So einige hundert sollen durchaus machbar. Du könntest auch die Lese- und Schreibqueries auf unterschiedlichen Servern laufen lassen.
      [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

      Kommentar


      • #4
        Die Frage lässt sich nicht pauschal beantworten. Es hängt sehr von der Datenstruktur, der Datenmenge und der Abfragen ab.

        Kommentar


        • #5
          Zitat von Condor93 Beitrag anzeigen
          Dennoch stellt sich mir die Frage, wieviele Datenbankabfragen okay sind ..
          Dabei wird gezählt, wieviele Querys stattfinden, bis der Kunde die Seite sieht.
          Also ich gebe auch noch etwas nebulösen Senf dazu.

          Es sind sicher viele erlaubt, sofern sie "knackig" sind. Also kleine Abfrage, gezielte Eingrenzung, 1 oder wenige Ergebnissätze, hauptsächlich über indizierte Spalten gefunden.
          mit AJAX lieber dynamisch, kleinteilig, als "big"

          Gegenanzeigen
          Abfragen mit Aggregatfunktionen
          Abfragen mit mit Weiterverarbeitung in der Zwischenschicht (plus Unterabfragen), die Berühmte Whileschleife (> sollte immer über SQL gelöst werden)

          Dann ist es letztlich auch eine Frage des Webseiten layouts und der Navigation.
          Ungeschicktes Strukturdesign führt ggF. dazu, dass jedes Login und die Darstellung der ersten Seite eine große Datenmenge abfragt, die aber kaum verwendet wird.
          Das kann man nicht alles vorhersagen, man sollte einkalkulieren, dass hier Änderungen vorgenommen werden können, wenn die ersten Betriebswochen/ Monate ein favorisierbares Nutzungsbild ergeben.


          Kommentar


          • #6
            Oftmals ist es auch gar nicht notwendig *alle* Daten *immer* live abzufragen. Hierfür bieten Caching-Systeme an.
            [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

            Kommentar


            • #7
              Ein Caching-System bietet sich bei meinen Projekt leider nicht an. Es werden täglich über tausende neue Daten hinzugefügt.

              Kommentar


              • #8
                Zitat von Condor93 Beitrag anzeigen
                Ein Caching-System bietet sich bei meinen Projekt leider nicht an. Es werden täglich über tausende neue Daten hinzugefügt.
                Tausende neue Daten täglich ist noch lange kein Argument, nicht über sinnvolles Caching nachzudenken, solange die Daten nicht völlig planlos/chaotisch hinzugefügt werden.
                Dein Frage ist so wie "Ich hab ein Auto. Wie weit kann ich damit fahren?"
                Ohne konkrete Angaben wirst du auch keine konkreten Aussagen bekommen können.

                Kommentar


                • #9
                  Zitat von Condor93 Beitrag anzeigen
                  Ein Caching-System bietet sich bei meinen Projekt leider nicht an. Es werden täglich über tausende neue Daten hinzugefügt.
                  Ich behaupte einfach mal, dass es bei facebook deutlich heftiger zugeht. Und auch dort wird gecached was das Zeug hält Aber gut, du kannst auch einfach gar nicht cachen und darauf warten, dass dir das System irgendwann zusammenbricht. Das habe ich bei größeren Projekten schon mehrfach erlebt.
                  [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

                  Kommentar


                  • #10
                    Man muss da auch immer einmal definieren, was Cache heisst. Ein Cache kann z.B. das In-Memory-Speichern von Daten sein, oder auch das statische ausliefern von Inhalten während einer bestimmten Zeit. Da gibt es doch auch ganz verschiedene Ansprüche und Ansätze, und auch ganz verschiedene Anwendungszwecke.
                    [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

                    Kommentar


                    • #11
                      Die Definition aus dem WIKI
                      Cache ([kæʃ], [kaʃ][1]) bezeichnet in der EDV einen schnellen Puffer-Speicher, der (wiederholte) Zugriffe auf ein langsames Hintergrundmedium oder aufwendige Neuberechnungen zu vermeiden hilft.
                      ist z.B. so allgemein, das damit sowohl Hardware als auch Software eingeschlossen wird. Ich behaupte einfach mal, viele nutzen auch Caches ohne davon zu wissen


                      Kommentar


                      • #12
                        Hierbei soll gesagt sein: big think!
                        Was soll das bedeuten? Und wie die Vorredner schon sagen - Mit dieser Menge an Details, die Deiner Frage inne wohnt, wird es schwer, etwas dazu zu sagen.

                        Kommentar

                        Lädt...
                        X