Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wydajność obu rozwiązań, seralize vs kilka tabel
adrix88
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


tablica wcale nie będzie łatwiejsza tak Ci się tylko wydaje bo pewnie nie jesteś za bardzo zapoznany z JOIN w mysql, dane w formacie serializa() są kompletnie nie poręczne i nic z nimi łatwo nie zrobisz, na prawdę dołożenie dodatkowej tabelki na powiązanie tego to nie jest duży problem i ułatwi Ci to życie, zwłaszcza jak masz sporo danych to raczej chcesz uniknąć sytuacji gdzie za kilka miesięcy trzeba będzie przerabiać strukturę bazy danych i dodatkowo pisać skrypty na przenoszenie danych.

P.s. ostatnio był właśnie temat z serii "użyłem tablicy zserializowanej bo myślałem, że będzie łatwiej a teraz jest problem" Temat: php mysqlSortowanie wynikow wg pol zapisanych jako serialize
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 14:54