![]() |
![]() |
![]()
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: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
sprawdz czy zapytanie tworzące twoj view, bedzie uzywalo kluczy, jesli tak to wszystko w normie. jesli nie to masz problem, proponuje pgsql:)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 18:55 |