Czy kiedykolwiek widziałeś któryś z komunikatów o błędach?Czy kiedykolwiek napotkano zapytanie, którego SQL Server nie mógł wykonać, ponieważ odwoływał się do zbyt wielu tabel?
- SQL Server 2000
Nie można przydzielić tabelę pomocniczą dla widoku lub rozmiar funkcyjnego.
Przekroczono maksymalną liczbę tabel w zapytaniu (256).- SQL Server 2005
Zbyt wiele nazw tabel w zapytaniu. Maksymalna dopuszczalna wartość to 256.
Jeśli tak, co zrobiłeś?
Biorąc pod uwagę? Przekonany klient, aby uprościć ich wymagania? Denormalizował bazę danych?
@ (wszyscy chcą mi odpowiedzieć na zapytanie):
- Nie jestem pewien, czy mogę wklejać 70 kilobajtów kodu w oknie odpowiedzi edycji.
- Nawet jeśli mogę to nie pomoże, ponieważ 70 kilobajtów kodu będzie zawierało 20 lub 30 widoków, które również będę musiał opublikować, ponieważ w przeciwnym razie kod będzie bez znaczenia.
Nie chcę brzmieć jakbym się przechwalał, ale problem nie leży w kwerendach. Zapytania są optymalne (lub przynajmniej prawie optymalne). Spędziłem niezliczone godziny, optymalizując je, szukając każdej kolumny i każdej tabeli, którą można usunąć. Wyobraźmy sobie raport, który ma 200 lub 300 kolumn, które muszą zostać wypełnione pojedynczą instrukcją SELECT (ponieważ tak zostało zaprojektowane kilka lat temu, kiedy był jeszcze małym raportem).
Czy używasz programu SQL Server 2000 SP3? – Stu
Czy mógłbyś stworzyć jakieś widoki? –
Wyświetlenia nie pomogą. Tabele użyte w widokach również wliczają się do limitu. –