Ludwig: MSSQL Cache

Hallo.

Über PHP frage ich eine MSSQL Datenbank ab. Z.B. so:
      $vgs_pdo = new PDO($serv, $user, $pass);
      $stmt = $vgs_pdo->prepare("SELECT...
Soweit sogut.

Leider brauchen die Abfragen beim ersten mal ziemlich lange (20 Sek.). Beim zweiten Aufruf der Abfrage kann man nicht mal blinzeln und das Ergebnis ist da. Also: Cache.

Da der Cache leider nach einer bestimmten Zeit gelöscht wird (da kann ich keinen Einfluss drauf nehmen), möchte ich die Datenbankabfragen kurz nach dieser bestimmten Zeit automatisch einmal durchjagen. Dann sind sie wieder im Speicher und der Benutzer kann flott arbeiten.

Kann man das irgendwie bewerkstelligen?

Grüße,
Ludwig

  1. Leider brauchen die Abfragen beim ersten mal ziemlich lange (20 Sek.). Beim zweiten Aufruf der Abfrage kann man nicht mal blinzeln und das Ergebnis ist da. Also: Cache.

    Alternativ: Also Abfrage optimieren.

    Da der Cache leider nach einer bestimmten Zeit gelöscht wird (da kann ich keinen Einfluss drauf nehmen), möchte ich die Datenbankabfragen kurz nach dieser bestimmten Zeit automatisch einmal durchjagen. Dann sind sie wieder im Speicher und der Benutzer kann flott arbeiten.

    Eine wahnwitzige Idee.

    Kann man das irgendwie bewerkstelligen?

    Du kannst einen Job einrichten, der die o.g. Query "nach einer bestimmtenm Zeit" wieder ausführt und den Cache so zu sagen warm hält.   LOL

    1. Eine wahnwitzige Idee.

      Warum?

      Du kannst einen Job einrichten, der die o.g. Query "nach einer bestimmtenm Zeit" wieder ausführt und den Cache so zu sagen warm hält.   LOL

      Warum nicht?

      1. Eine wahnwitzige Idee.

        Warum?

        Weil es wesentlich bessere Varianten gibt.

        Du kannst einen Job einrichten, der die o.g. Query "nach einer bestimmtenm Zeit" wieder ausführt und den Cache so zu sagen warm hält.   LOL

        Warum nicht?

        Ich sag ja, Du kannst das machen, aber es ist extrem uncool. (Welche Varianten siehst Du denn so? ;)

  2. Hi,

    Leider brauchen die Abfragen beim ersten mal ziemlich lange (20 Sek.). Beim zweiten Aufruf der Abfrage kann man nicht mal blinzeln und das Ergebnis ist da. Also: Cache.

    Das ist mir noch nie aufgefallen, mag aber sein, dass es stimmt.

    Da der Cache leider nach einer bestimmten Zeit gelöscht wird (da kann ich keinen Einfluss drauf nehmen), möchte ich die Datenbankabfragen kurz nach dieser bestimmten Zeit automatisch einmal durchjagen. Dann sind sie wieder im Speicher und der Benutzer kann flott arbeiten.

    Kann man das irgendwie bewerkstelligen?

    Unter Unix/Linux gibt es beispielsweise Cronjobs.

    mfG,
    steckl

    1. Danke steckl.