To ostrzeżenie było nowe dla SQL Server 2012.
Od
nowego ostrzeżenia „Konwersja typu w wyrażeniu .....” w SQL2012, po głośny do praktycznego użycia
Rozumiem, co masz na myśli. Chociaż zgadzam się, że w większości przypadków jest to hałas, naprawienie go ma niski priorytet. Przyjrzymy się temu, jeśli otrzymamy więcej opinii. Na razie zamknąłem to z założenia.
Connect został zabity i nie wygląda na to, że oryginalny problem został przeniesiony do UserVoice. Oto inny problem UserVoice dotyczący tego samego problemu. Konwersja typu może mieć wpływ na CardinalityEstimate - Konwertuj / rzutuj na wybrane kolumny
Udzielę nudnej odpowiedzi, dopóki ktoś nie przyjdzie z lepszą.
Dlaczego ma ostrzeżenie?
Spekulacje z mojej strony.
Istnieje rzutowanie na kolumnę, która jest używana w klauzuli where, dzięki czemu statystyki tej kolumny są interesujące. Zmiana typu danych powoduje, że statystyki nie są dobre, dlatego ostrzegamy o tym, na wypadek, gdyby wartość z listy pól mogła gdzieś zostać użyta.
Jak rzutowanie na listę pól może wpłynąć na oszacowanie liczności?
Nie może, chyba że jest to lista pól w tabeli pochodnej.