W przewodniku po planie można użyć dowolnej kombinacji prawidłowych wskazówek dotyczących zapytań. Gdy przewodnik planu pasuje do zapytania, klauzula OPTION określona w klauzuli hints przewodnika po planie jest dodawana do zapytania przed jego skompilowaniem i optymalizacją. Jeśli kwerenda dopasowana do przewodnika po planie ma już klauzulę OPTION, wskazówki kwerendy określone w przewodniku po planie zastępują wskazówki w kwerendzie. Aby jednak przewodnik po planie pasował do kwerendy, która ma już klauzulę OPTION, należy dołączyć klauzulę OPTION kwerendy podczas określania tekstu kwerendy do dopasowania w instrukcji sp_create_plan_guide. Aby wskazówki określone w przewodniku po planie zostały dodane do wskazówek, które już istnieją w kwerendzie, zamiast je zastępować, należy określić zarówno oryginalne wskazówki, jak i dodatkowe wskazówki w klauzuli OPTION przewodnika po planie.
Przestroga
Prowadnice planowania, które niewłaściwie używają wskazówek dotyczących zapytań, mogą powodować problemy z kompilacją, wykonywaniem lub wydajnością. Przewodniki po planach powinny być używane tylko przez doświadczonych programistów i administratorów baz danych.
Typowe wskazówki dotyczące kwerend używane w prowadnicach planowania
Zapytania, które mogą korzystać z przewodników po planach, są zazwyczaj oparte na parametrach i mogą osiągać niską wydajność, ponieważ używają planów kwerend buforowanych, których wartości parametrów nie reprezentują najgorszego lub najbardziej reprezentatywnego scenariusza. Wskazówki dotyczące zapytań OPTYMALIZUJ DLA i RECOMPILE mogą służyć do rozwiązania tego problemu. OPTIMIZE FOR instruuje program SQL Server, aby używał określonej wartości parametru podczas optymalizacji zapytania. RECOMPILE instruuje serwer, aby odrzucił plan zapytań po wykonaniu, zmuszając optymalizator zapytań do ponownego skompilowania nowego planu zapytań przy następnym wykonaniu tego samego zapytania. Aby zapoznać się z przykładem, zobacz Przewodniki po planach.
Ponadto można określić wskazówki do tabel INDEX, FORCESCAN i FORCESEEK jako wskazówki kwerendy. Wskazówki te określone jako wskazówki kwerendy zachowują się jak wbudowana tabela lub wskazówka widoku. Wskazówka INDEX wymusza na optymalizatorze zapytań używanie tylko określonych indeksów w celu uzyskania dostępu do danych w tabeli lub widoku, do którego następuje odwołanie. Wskazówka FORCESEEK wymusza na optymalizatorze użycie tylko operacji wyszukiwania indeksu w celu uzyskania dostępu do danych w tabeli lub widoku, do którego następuje odwołanie. Te wskazówki zapewniają dodatkowe funkcje przewodnika po planie i umożliwiają większy wpływ na optymalizację zapytań korzystających z przewodnika po planie.