Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL]Szybszy PHP czy MySQL?
siemieng
post 27.01.2009, 23:47:13
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 7
Dołączył: 16.01.2007

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


Pytam z czystej ciekawości co waszym zdaniem jest "lepsze", czy bardziej wydajniejsze - obróbka całości pobranych danych w PHP, czy pobieranie danych seriami z bazy?questionmark.gif?

Załóżmy, że wykonujemy stronę szkoły, na której ma być plan zajęć dla wszystkich klas, podzielony na 5 dni szkolnych.

I teraz:
1. Czy lepiej pisać funkcję pobierającą informacje z bazy danych o zajęciach we wszystkich dniach na raz, następnie przy pomocy PHP z załóżmy tablicy będącej wynikiem działania zapytania do bazy, dokonać grupowania danych według poszczególnych dni.
2. Czy może grupowanie danych wykonać poprzez bardziej złożone zapytanie do bazy, pobrać dane już pogrupowane wg. dni, w wyniku czego obróbka danych wynikowych przy pomocy PHP będzie znikoma, bo dane będą praktycznie gotowe do wyświetlenia, lecz zamiast jednego połączenia z bazą wykonamy serię takich połączeń.

Oczywiście przytoczony przykład jest banalnym przykładem, ale ostatnio poświęcam dużo czasu nad dopracowanie optymalizacji kodu i zapytań w tworzonych stronach, i nasunęło mi się takie właśnie pytanie:)

Jak sądzicie, jakie macie doświadczenia?questionmark.gifquestionmark.gifquestionmark.gif
Pozdrawiam
Go to the top of the page
+Quote Post
Norr
post 27.01.2009, 23:52:43
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 2
Dołączył: 28.04.2008

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


Moim zdaniem, najlepiej jest pobrać dane z bazy danych za pomocą szczegółowego zapytania, żeby był gotowiec, a wynik zapisać albo do xml'a (zaletą jest możliwosć wczytania do każdego pliku, który obsługuje xml, np. Excel, ale wówczas trzeba odpowiednio obrobić plik)albo do pliku tekstowego, który później będzie pobierany przy każdym ładowaniu strony, np. includem. Jest to chyba najszybsze rozwiązanie.
Powód edycji: zdublowany post
Go to the top of the page
+Quote Post
ayeo
post 28.01.2009, 06:56:18
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


@seimieng, albo się trzyma dane w bazie albo xmlu. Twoje rozwiązanie jest co najmniej bezsensu. Najlepiej pobrać dane jednym zapytaniem. Przy pobieraniu planu lekcji nie masz tych rekordów zbyt wiele. Zresztą nawet jeśli pobierzesz je w 15 zapytaniach to i tak na koniec masz wszystkie w pamięci.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
mad/
post 13.11.2009, 23:36:23
Post #4





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 7.10.2009

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


Jestem zdecydowanie za jednym zapytaniem i obróbką w PHP. Ponieważ to o czym piszesz wygląda na to, że ilość zapytań będzie mogła być zależna od ilości danych, jeśli o to chodzi to to fatalne rozwiązanie dla optymalizacji. Jeśli źle zrozumiałem i ilość danych nie będzie wpływać na ilość zapytań, to proponuję tak:

w pierwszym zapytaniu pobrać godziny, w drugim dni, wygenerować pustą tablicę dwuwymiarową, z ilością pól odpowiednią do ilości dni i godzin (umożliwia wprowadzenie zajęc w sobotę bez modyfikacji kodu PHP), za pomocą sql łączyć ze sobą dni tygodnia, godziny i nazwy zajęć i pobierać w jednym zapytaniu, całość wrzucać do odpowiednich pól teblicy za pomocą PHP.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 13:07