Jako programista i administrator baz danych, który często preferuje technologię, ale jeśli prowadzimy dużą organizację, musimy być bardziej przychylnie nastawieni do wszystkich technologii. Jeden z moich dużych klientów bankowych korzysta z wielu baz danych do wykonywania różnych transakcji. Korzystają również z wielu różnych rozwiązań do buforowania dla swojej działalności, a także z najwyższej klasy sprzętu. Odbyłem bardzo ciekawą rozmowę z moim klientem na temat tego, jak pobierać zapytania, a nie z pamięci podręcznej dla MySQL i SQL Server, omawialiśmy SQL_NO_CACHE i OPTION (RECOMPILE). Omówiliśmy podczas Kompleksowej kontroli stanu wydajności bazy danych .
Zobaczmy dzisiaj dwa różne przykłady dla MySQL i SQL Server. Obie relacyjne bazy danych wykorzystują zalety pamięci podręcznej, aby zwrócić nam dane. Zobaczmy, jak możemy napisać zapytanie, w którym nie będziemy używać wyników z pamięci podręcznej, ale bezpośrednio pobieramy nasze dane z dysku SQL Server, a nie z pamięci podręcznej.
Zapytanie SQL Server – OPCJA (RECOMPILE)
SELECT Columnname FROM TableName OPTION(RECOMPILE)
Zapytanie MySQL SQL_NO_CACHE
SELECT SQL_NO_CACHE Columnname FROM TableName OPTION(RECOMPILE)
Kiedy używasz SQL_NO_CACHE i OPTION (RECOMPILE), relacyjne bazy danych (odpowiednio MySQL i SQL Server) bezpośrednio pobierają dane z dysku, a nie to, co jest przechowywane w pamięci podręcznej.
Oto kilka odpowiednich postów na blogu na ten sam temat, które mogą Cię zainteresować.
- SQL SERVER — Lista planu zapytań, rozmiar pamięci podręcznej, liczba tekstu i wykonań
- SQL SERVER – znajdowanie najstarszego planu zapytań z pamięci podręcznej
- SQL SERVER — zaplanuj pamięć podręczną i pamięć podręczną danych w pamięci
- SQL SERVER – procedura składowana – czyszczenie pamięci podręcznej i czyszczenie bufora
- SQL SERVER – usuń wszystkie plany z pamięci podręcznej zapytań, które nie były używane w określonym okresie
- SQL SERVER – Skrypt do pobrania skompilowanego planu z parametrami z pamięci podręcznej
- SQL SERVER — pamięć podręczna planu — pobieranie i usuwanie — prosty skrypt
- SQL SERVER – 2017 – Skrypt do czyszczenia pamięci podręcznej procedur na poziomie bazy danych