Stworzyłem 8 różnych widoków i używam wszystkich widoków wewnątrz widoku. Więc zastanawiałem się, zanim pójdę dalej z tym pomysłem. Chcę wiedzieć, czy to źle wpływa na wydajność, czy nie.Czy to źle wywołać widoki wewnątrz widoku w sql
Odpowiedz
Nie, w porządku. W wielu przypadkach osobiście uważam, że lepiej jest pisać jeden widok z ogromną i trudną do zrozumienia definicją. Moim zdaniem użycie wielu widoków pozwala:
- Kapsuł dyskretną logikę w poszczególnych widokach.
- Wykorzystaj logikę w poszczególnych widokach bez konieczności powtarzania logiki (eliminując później problemy z aktualizacją).
- Nazwij swoją logikę, aby następny programista mógł łatwiej zrozumieć, co próbujesz osiągnąć.
To nie jest złe dla wydajności tylko za bycie widokiem. Może to wymagać zachowania pewnej złożoności i spowodować dodatkowe uwzględnienie, gdy chcesz zmienić schemat podstawowych tabel. Jeśli korzystasz z widoków i przyłączyli się do tych samych tabel, myślę, że byłoby to mniej skuteczne niż dołączanie do tabeli raz w jednym widoku.
Świetny punkt dotyczący posiadania tych samych tabel w wielu widokach. – RubberDuck
Czysty fakt sprawdzania widoku z poziomu widoku nie ma żadnego negatywnego wpływu na wydajność. Nie różni się od wysyłania zapytania do tabeli z widoku.
Preferuję używanie widoków zagnieżdżonych, przy czym każdy widok obejmuje i nazywa niektóre przekroje danych.
Jeśli chodzi o wydajność, to może rzeczywiście poprawić wydajność, jeśli alternatywne wymagało wielokrotnego sprawdzania tych samych danych: Widok zagnieżdżony przypomina nieco tabelę tymczasową - uruchamianą raz.
Najlepszym i zalecanym sposobem odkrycia wpływu na wydajność jest wypróbowanie obu opcji i sprawdzenie wyników wyjaśniania.
Widoki są "kompilowane" podczas tworzenia planu wykonania. W związku z tym istnieje tylko bardzo niewielka kara za ich użycie: Dodatkowy czas potrzebny SQL Server do sprawdzenia definicji. Zwykle to opóźnienie nie jest mierzalne.
Oznacza to, że korzystanie z widoków w celach wymienionych przez Larry'ego Lustiga jest całkowicie poprawne i zachęcające.
JEDNAK: Upewnij się, że nie wprowadzasz niepotrzebnych JOINów przy użyciu tej techniki. Podczas gdy SQL Server ma mechanizmy eliminujące niepotrzebne tabele z zapytania, szybko rezygnuje, jeśli zapytanie staje się złożone. Wykonanie tych dodatkowych JOINów może spowodować znaczne spowolnienie. Jest to powód, dla którego wiele firm stosuje zasadę braku poglądów.
Tak więc: używaj widoków, ale pamiętaj, aby nie nadużywać ich.
- 1. Ładowanie kontrolera widoku wewnątrz widoku w Xcode
- 2. Sztuczka deklaracji alfabetu: czy to źle?
- 3. Czy to źle, że nie preferujesz IDE?
- 4. Widok tabeli wewnątrz widoku, wewnątrz viewcontroller. Najlepszy sposób to zrobić?
- 5. Fluent NHibernate mapowania SQL Widoki
- 6. Poziomo w środku Widoki wewnątrz Android GridLayout
- 7. Korzystanie z obiektów sesji w MVC, czy to naprawdę źle?
- 8. Czy to źle zaprojektować użycie tablic w bazie danych?
- 9. Czy mogę wywołać sesję w szablonie/widoku w Play Framework
- 10. Jak wywołać funkcję OnActivityResult wewnątrz Fragmentu i jak to działa?
- 11. Czy to jest właściwy sposób używania Dapper, czy też robię to wszystko źle?
- 12. UIgestureRecognizer w widoku wewnątrz UIScrollView
- 13. Czy źle zrozumiałem PetaPoco.IgnoreAttribute?
- 14. Jak wywołać procedurę składowaną w widoku?
- 15. Napisz test, który klika widoki wewnątrz PopupWindow
- 16. Python - książka Zelle używa eval(), czy to źle?
- 17. Abstrahowanie do kontenera IoC za Singleton - Czy to źle?
- 18. Podnoszenie zdarzeń C# za pomocą metody rozszerzenia - czy to źle?
- 19. Czy to możliwe z sql?
- 20. Jak wywołać usługę Grails w widoku?
- 21. Czy można wywołać metodę clearInterval wewnątrz procedury obsługi setInterval?
- 22. Używanie zmiennych widoku Django wewnątrz szablonów
- 23. Jak wywołać dialer telefonu w przeglądarce? czy to niemożliwe?
- 24. Czy można wywołać plik .sql w migracji doktryny?
- 25. Jak sortować w widoku sql
- 26. Czy źle jest śledzić zmienne wywołania zwrotnego?
- 27. android: przycisk widoku obrazu wewnątrz
- 28. Czy wewnątrz funkcji setInterval() można wywołać metodę clearInterval()?
- 29. Jak wywołać skrypt SQL z poziomu innego skryptu SQL?
- 30. php: czy mogę utworzyć i wywołać funkcję wewnątrz metody klasy?
Korzystanie z widoków w celu odniesienia do innych widoków jest całkowicie dopuszczalne. Wydajność w dużej mierze zależy jednak od twojego kodu. – SchmitzIT
tak długo, jak widok nie odwołuje się do siebie powinien być w porządku – atar
Nie ** wywołaj ** widoków (nie są to "programy" lub kod) - wybierasz z nich. –