![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 16.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Piszę pewną aplikacje, jest to panel zarządzania usługami i zastanawiam się jakie rozwiązanie będzie lepsze i wydajniejsze
Mam tabelę z zakupionymi usługami np: Tabela USŁUGI: id / nazwa / var1 / var2 / var3 /var4 / var5 / itd. (w sumie około 60 pól) i do tej usługi można aktywować sobie dodatki i właśnie zastanawiam się jak będzie wydajniej rozwiązać przypisywanie tych dodatków do tabeli. Zastanawiam się nad dwoma rozwiązaniami: =================== Rozwiązanie 1. Dodać do tabeli usługi nowe pole text w którym byłaby przechowywana tablica potraktowana funkcją serialize i ta tablica przechowywałaby listę aktywnych dodatków (byłyby to jedynie 2 dane, id usługi i id dodatku). Przy odczytywaniu listy dodatków będzie odczytywana tablica poprzez unserialize. Rozwiązanie 2. Dodać drugą tabelę DODATKI i w niej przechowywać informacje o aktywnych dodatkach dla danej usługi. =================== Generalnie bardziej podoba mi się rozwiązanie pierwsze, bo nie muszę wtedy tworzyć skomplikowanych zapytań, czy pętli w pętli żeby wyciągnąć listę aktywnych dodatków, ale zastanawiam się jak tu będzie z wydajnością i obciążeniem. Ponieważ tabela USŁUGI zawiera aktualnie około 60 pól i do tego średnia liczba rekordów dla tej tabeli to ~4000, więc trochę już tych danych jest. Dodatkowo dodam że ta tabela jest używana praktycznie przy każdej operacji. Kolejną sprawą jest to że nie wiem jak jest z wydajnością funkcji seralize i unseralize, bo jakbym ich użył to by były dosyć często używane. Generalnie to pytanie jest takie, lepiej skorzystać z skomplikowanych zapytań na 2 tabelach lub pętli w pętli, czy też może lepsze będzie proste zapytanie odczytujące dane z tabeli i wyciągające tablice poprzez unseralize. Ten post edytował adrix88 23.06.2011, 14:48:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:53 |