/ / Can FORCE SCAN poprawia wydajność zapytania - sql, sql-server

Czy FORCE SCAN może poprawić wydajność zapytania - sql, sql-server

Myślę, że FORCE SEEK może poprawić wydajność zapytania SELECT, ale zastanawiam się, czy FORCE SCAN może również poprawić wydajność zapytania.

Czy ktoś może wyjaśnić na przykładzie?

Odpowiedzi:

3 dla odpowiedzi № 1

Załóżmy, że masz zapytanie, które zakończy się wynikiem 1.000.000 wierszy, ale SQL Server szacuje, że będzie ich tylko 100. Następnie SQL Server szacuje, że 100 wyszukiwań indeksu przy wyszukiwaniu tabeli jest szybszych niż pełne skanowanie tabeli. Ale zamiast tego robi 1.000.000 wyszukiwań indeksu i wyszukiwania!

W takim przypadku dodanie force scan podpowiedź poprawi wydajność zapytania.

Pamiętaj, że ta sytuacja jest niezwykła. SQL Server próbuje zoptymalizować w najgorszym przypadku i nie użyje wyszukiwania, chyba że jest cholernie pewne, że nie ma ich zbyt wiele. Właśnie dlatego forceseek jest używany częściej forcescan.