Chcę użyć buforowania danych w mojej aplikacji .net C#. Do tej pory dodałem buforowanie danych i dodałem zależności bufora sql na konkretnych tabelach. Ale to nie wystarczy. Tabele te będą aktualizowane zbyt często, ale nie będą miały znaczenia dla wielu buforowanych obiektów. Spowoduje to, że buforowanie danych będzie prawie bezużyteczne, ponieważ będzie często przepłukiwane. Chcę zaimplementować zależność pamięci podręcznej sql od określonych wierszy dla każdego obiektu. Jak mogę to zrobić?Jak utworzyć zależność od pamięci podręcznej sql specyficzne dla wiersza?
Odpowiedz
Musisz zrozumieć, jak działa SqlDependency. Ty subscribe a result set and get notified when that result set has changed. Możesz subskrybować dowolny zestaw wyników, co oznacza każde zapytanie, o ile jest zgodne z restrictions of the supported statements. Naprawdę nie ma znaczenia, czy jest to tabela czy widok.
Pod względem technicznym można subskrybować konkretne powiadomienia, przesyłając zapytanie właściwe dla tego wiersza, np. ze sztywno zakodowaną klauzulą WHERE. Będziesz musiał zmienić swój kod, aby pobierać i buforować tylko potrzebne dane w kolejności rząd po rzędzie, w przeciwieństwie do pobierania całych tabel i buforowania ich w pamięci. Heck, i tak musisz to zrobić, jeśli przynajmniej martwisz się wielkością tych stołów. Buforowanie całych tabel powinno być wykonywane tylko dla danych katalogowych i referencyjnych, które zmieniają się nieczęsto lub wcale.
Można również wybrać pobieranie i buforowanie partycji danych, np. poszczególne zakresy kluczy (powiedzmy między literami "A" i "D", "E" i "H" itd. i zasubskrybuj, aby otrzymywać powiadomienia o tej konkretnej partycji danych:
Jeśli chcesz understand how SqlDependency works, mój blog zawiera kilka artykułów na ten temat , w tym common programming pitfalls of SqlDependency i deployment problems with SqlDependency.
BTW gdy mówię „sztywno WHERE” Nie mam na myśli sztywnego kodowania kluczy wyszukiwania.Możesz użyć @parameters OK, chodzi mi o to, że musisz dodać klauzulę WHERE, aby ograniczyć zestaw wyników tylko do interesujących Cię wierszy. –
- 1. Jak powinienem używać Redis jako pamięci podręcznej dla SQL Server?
- 2. Usuń pozycje specyficzne dla wiersza z listy
- 3. Spring + Hibernate: Planowanie pamięci podręcznej Wykorzystanie pamięci podręcznej
- 4. Jak ustawić różne czasy wygaśnięcia pamięci podręcznej dla pamięci podręcznej klienta i serwera?
- 5. Błędy pamięci podręcznej AppFabric
- 6. rozproszona technologia pamięci podręcznej
- 7. Czyszczenie pamięci podręcznej Symfony dla innej aplikacji
- 8. Usługa pamięci podręcznej w pamięci podręcznej - Tridion 2011 SP1
- 9. Wysoka częstość współbieżności dla pamięci podręcznej
- 10. Jak utworzyć specyficzne zmienne pthread bez __thread
- 11. Unikaj stopniowanej pamięci podręcznej dla wersji migawki
- 12. Czy plan wykonania pamięci podręcznej SQL Server widoku?
- 13. Jak utworzyć zależność Ivy dla lokalnych słoików w projekcie/lib?
- 14. Dedykowany region pamięci podręcznej dla podklas jednostki?
- 15. Wygasanie pamięci podręcznej operacji z niestandardową ścieżką pamięci podręcznej
- 16. specyficzne dla rzędu pand zastosowanie
- 17. Czyszczenie pamięci podręcznej ActiveRecord
- 18. Maksymalny rozmiar pamięci podręcznej
- 19. Setuptools specyficzne zależności od platformy
- 20. Zależność od modułu Pythona
- 21. Android: Strategia pamięci podręcznej obrazu i rozmiar pamięci podręcznej
- 22. Uzyskiwanie dostępu do plików w pamięci podręcznej rozproszonej pamięci podręcznej
- 23. Ponowne próby pamięci podręcznej IIS
- 24. Microsoft.SqlServer.Types.dll w pamięci podręcznej Global Assembly Cache?
- 25. Wymuś usunięcie pamięci podręcznej
- 26. Zależność Macport od pomijania
- 27. Tabele statyczne pamięci podręcznej Mysql
- 28. Jak zmienić katalog pamięci podręcznej Netbeans?
- 29. Capifony nie ociepli pamięci podręcznej
- 30. Jak dodać Wykorzystanie pamięci podręcznej przeglądarki dla CDN w .htaccess?
dokumentacja aspnet_regsql wspomina tylko tabele, ale czy próbowałeś go używać przeciwko widzenia? wątpię to będzie działać, ale może warto spróbować. –