Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 16.11.2007 Ostrzeżenie: (0%)
|
Witam. Potrzebuje przechowywać tablice z konfiguracją modułów. Chciałbym wiedzieć które rozwiązanie jest waszym zdaniem wydajniejsze?
1. Przechowywanie tablicy w oddzielnym pliku konfiguracyjnym i wczytywanie jej przy pomocy include(), gdy jest taka potrzeba. 2. Przechowywanie zserializowanej tablicy w polu TEXT bazy mysql? Które rozwiązanie będzie szybsze i wydajniejsze? Czy include tablicy z pliku, czy pobranie pola TEXT i wykonanie funkcji unserialize()? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%)
|
Jedno i drugie ma swoje zalety i wady. Z reguły konfigurować lepiej w plikach, ale jeżeli dane mają być przykładowo zmieniane gdzieś w panelu administratora itp. to lepiej w bazie danych (ale nie ładować wszystkiego w jeden wiersz, tylko jedna dana = jeden wiersz, bez unserialize())
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 16.11.2007 Ostrzeżenie: (0%)
|
Zrobiłem właśnie mały test. W pętli for powtarzającej 1000 razy dane akcje. Oto czasy:
WYNIK (TEXT+unserialize()) 1: 0.108429 ms WYNIK (include) 2: 0.072376 ms Jednostkowe wywołania też dają podobny stosunek, więc chyba jednak lepszym rozwiązaniem będzie baza, bo różnice są raczej porównywalne. Jak myślicie? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 3 Dołączył: 12.03.2011 Skąd: Opole Ostrzeżenie: (0%)
|
Ale jesli bedziesz cache-ował pozostałe zapytania, to wtedy co? Będziesz specjalnie łączył się z bazą żeby dostać się do konfiguracji?
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 16.11.2007 Ostrzeżenie: (0%)
|
Hmm, tylko że w tej aplikacji raczej nie opłaca się robić cachowania zapytań, bo dane w bazie praktycznie cały czas się zmieniają. Nie jest to zwykła strona do wyświetlania treści, tylko aplikacja zarządzająca serwerami.
Rozwiązałem to na zasadzie pola text i serialize. Można zamknąć. |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 19:58 |