Ankündigung

Einklappen
Keine Ankündigung bisher.

MSSQL-Daten bzw. Abfragen Cachen

Einklappen

Neue Werbung 2019

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

  • MSSQL-Daten bzw. Abfragen Cachen

    Hallo Profis...

    ich habe ein Problem. Und zwar habe ich auf der Startseite meiner Seite einen persönlichen Bereich gemacht, der jedem Mitarbeiter seine Arbeitsaufträge detailliert anzeigt.

    Leider sind die rund 14 SQL-Befehle nun etwas viel und die Ladezeit der Startseite beträgt 10-20 Sekunden. Dies stört natürlich erheblich, wenn man nur den nächsten Auftrag checken will.

    Meine Idee war es, die Daten aus der Abfrage zu Cachen und 1-2 mal am Tag zu erneuern. Jedoch muss ich mit PHP 5.2.14 arbeiten und MSSQL 2008.

    Die SQL-Befehle die die meiste Performance ziehen sind geschachtelte UNION ALL.

    Hoffe mir kann jemand schnell weiter helfen.


  • #2
    Zitat von Gabbax0r Beitrag anzeigen
    Leider sind die rund 14 SQL-Befehle nun etwas viel und die Ladezeit der Startseite beträgt 10-20 Sekunden.
    Also je SQL ca. 1 Sekunde... grottig.

    Die SQL-Befehle die die meiste Performance ziehen sind geschachtelte UNION ALL.
    • SQL optimieren
    • mat. Views verwenden
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      das problem ist nicht sql, da listen mit 100000 einträgen in einer sekunde geladen werden kann.

      die großen abfragen sind wie folgt aufgebaut: php -> stored procedure -> view -> und die view liest von einer fremddatenbank daten ein die täglich geupdated wird.

      deswegen wollte ich diese einmal täglich cachen damit sie nicht immer wieder abgefragt werden müssen. ist das überhaupt möglich?

      Kommentar


      • #4
        Primitives Caching auf Dateibasis gefällig? TinyTemplate, dort das Beispiel mit Template-Cache anschauen.

        LG jspit
        PHP-Klassen auf github

        Kommentar


        • #5
          ist das gleiche prinzip wie hashmap, oder sieht zumindest so aus^^ hatte ich auch schon angedacht aber wollte mich erstmal erkundigen ob es nicht was noch einfacheres gibt

          danke @jspit

          Kommentar


          • #6
            Zitat von Gabbax0r Beitrag anzeigen
            das problem ist nicht sql, da listen mit 100000 einträgen in einer sekunde geladen werden kann.


            Zitat von Gabbax0r Beitrag anzeigen
            deswegen wollte ich diese einmal täglich cachen damit sie nicht immer wieder abgefragt werden müssen. ist das überhaupt möglich?


            Vielleicht solltest du bei deinem aktuellen Wissensstand drauf verzichten Webanwendungen entwickeln zu wollen die auf Firmendatenbanken zugreifen.

            Kommentar


            • #7
              Zitat von Gabbax0r Beitrag anzeigen
              das problem ist nicht sql, da listen mit 100000 einträgen in einer sekunde geladen werden kann.

              die großen abfragen sind wie folgt aufgebaut: php -> stored procedure -> view -> und die view liest von einer fremddatenbank daten ein die täglich geupdated wird.

              deswegen wollte ich diese einmal täglich cachen damit sie nicht immer wieder abgefragt werden müssen. ist das überhaupt möglich?
              Da liegt dein Performance Problem.

              Deine Lösung wäre ein cronjob der dir die daten,des nachts, in deine lokale datenbank importiert.

              nun kenn ich deine serverstruktur nicht.
              aber löse das mit bash scripting und nicht mit php

              suchworte:
              bash, wget, mysqlclient import, cronjob
              evtl. stösst du dann sogar auf mein script, von vor ähm 10 jahren.....
              und mit etwas glück, trifft google dann gleich die gesamte klasse inklusive backup
              archive und allem was dir gleich in gedanken kommt....

              Kommentar


              • #8
                okay ich werde morgen eifnach mal danach schauen

                dankeschön

                Kommentar

                Lädt...
                X