![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam, pracuje właśnie nad projektem sklepu internetowego. Opieram się tu o Symfony (Propel jako ORM). Mam dość skomplikowaną strukturę tabel z produktami, której raczej nie da się już uprościć - ogólnie instancja produktu tworzona jest z wielu tabel gdzie joiny są 2-3 stopniowe tj. tabela a join tabala b join tabela c itd. Ogólnie kluczowe zapytania są na tyle złożone, że mam do wyboru 2 opcje:
- stworzyć dodatkową tabelę z cachem produktów gdzie są dostępne wszystkie potrzebne pola - stworzyć widok Z perspektywy utrzymania tego kodu lepiej jest zrobić widok - nie będę musiał powielać operacji zapisu itd. Z drugiej strony cache ma ta przewagę, że jest szybszy w odczycie. No i tu pojawia się właśnie problem - na ile widok oparty na dość złożonym zapytaniu sql łączącym około 6-7 tabel i zawierającym około 20-25 pól będzie obciążeniem dla bazy. Czy taki widok jest cachowany w jakiś sposób czy raczej zapytanie jest wywoływane za każdym razem od nowa? Boję się, że widok przy większym obciążeniu może dać się we znaki. Macie z tym jakieś doświadczenia. pozdrawiam i z góry dzięki za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 31.12.2003 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
W mysql widoki nie zawsze są optymalnym rozwiązaniem - polecam lekturę http://www.mysqlperformanceblog.com/2007/0...e-troublemaker/
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 11:38 |