Mam podstawową instrukcję SQL Select w PHP, że przekazuję na serwer Oracle.

$queryString = "
            SELECT /*+ NOCACHE */
                company,
                addr1,
                addr2,
                addr3,
                city,
                state,
                country,
                zip,                    
                custno CUSTOMERNUMBER,
                prime_contact PRIMECONTACT,
                prime_contact_email PRIMEEMAIL,
                phone_number PRIMEPHONE,
                ext PRIMEEXTN,
                fax_number PRIMEFAX,
                ID
            FROM               
                IQMS.ARCUSTO 
            WHERE 
                ID=" . $ID;


        $stid = oci_parse($OracleConnection, $queryString);
        oci_execute($stid);

        $row = oci_fetch_array($stid, OCI_ASSOC);

        oci_free_statement($stid);
        oci_close($OracleConnection);

Kiedy wykonuję zapytanie n- wyciągnie najnowsze zmiany, jeśli zostawiłem go sama aplikacja na chwilę. Jeśli często uruchomię aplikację, wydaje się, że pamięci podejmuje zapytanie, nawet bez pamięci podręcznej w zapytaniu.

Naprawdę nie mogę spłukać pamięci podręcznej na serwerze, ponieważ jesteśmy w środowisku prod i naprawdę nie chcesz spowolnić innych aplikacji za pomocą danych.

Jak mogę uzyskać moje zapytanie, aby zwrócić zmienione wyniki po uruchomieniu tak często, jak co 5 minut?

0
Kris.Mitchell 21 styczeń 2020, 06:37

1 odpowiedź

Najlepsza odpowiedź

Niestety, nie sądzę, że baza danych może zapewnić niewłaściwe wyniki z powodu buforowania. Dokumentacja mówi następujące czynności

"Gdy użytkownik wykonuje zapytania i funkcje wielokrotnie, bazy danych pobiera wiersze z pamięci podręcznej, zmniejszając czas odpowiedzi. Wymienione wyniki stają się nieprawidłowe, gdy dane w zależnych obiektach bazy danych są modyfikowane".

Zaproponowałem więc, aby sprawdzić, czy dane były naprawdę aktualizowane lub poszukaj buforowanych wyników na innej warstwie aplikacji.

Ponownie przepraszam za odpowiedź nie pomaga

2
ekochergin 21 styczeń 2020, 06:49