Chciałbym Cię zapytać o Twoją opinię, jeśli chodzi o wdrożenie filtrowanego formularza wyszukiwania. Wyobraźmy sobie następujący przypadek:
- 1 Duży stół z dużą ilością kolumn
- Ważne może być powiedzenie, że ten SQL Server
Musisz zaimplementować formularz do przeszukiwania danych w tej tabeli, aw tym formularzu będziesz mieć kilka pól wyboru, które pozwolą Ci zminimalizować to wyszukiwanie.
Teraz moje pytanie brzmi, który z poniższych powinien być najlepszym sposobem na wdrożenie wyszukiwania?
Utwórz procedurę składowaną z zapytaniem w środku. Ta procedura składowana sprawdzi, czy parametry są podane przez aplikację, aw przypadku, gdy nie zostaną one podane, w kwerendzie zostanie wstawiony znak zastępczy.
Utwórz zapytanie dynamiczne, które jest budowane zgodnie z danymi podanymi przez aplikację.
Pytam o to, ponieważ wiem, że SQL Server tworzy plan wykonania po utworzeniu procedury przechowywanej, aby zoptymalizować jej wydajność, ale czy tworząc dynamiczne zapytanie wewnątrz procedury przechowywanej, poświęcimy optymalizację uzyskaną przez plan wykonania?
Proszę, powiedz mi, jakie byłoby najlepsze podejście w twoim przekonaniu.