Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Szybciej z XML?
Forum PHP.pl > Forum > PHP
marcinlenkowski
Wpadłem na pomysł, i może i to pytanie nadaje się do przedszkola, ale sam nie wiem czy to ma sens i czy przez to aplikacja będzie działać szybciej.

Co zostanie wykonane szybciej? Przetworzenie danych z pliku xml (w którym zapisane są newsy czy artykuły) za pomocą wyrażeń regularnych czy zapytanie myqsl??

Za każdym dodaniem danych dane zostaną zapisze w bazie i zostanie wygenerowany plik xml z danymi które zawiera baza. Czy to się opłaca?
Xniver
Po co chcesz przetworzyć XML za pomocą wyrażeń regularnych?
marcinlenkowski
ano po to żeby wyłapać odpowiednie dane powiedzmy

  1. <item>
  2. <id>1</id>
  3. <title>Przykładowy tytuł</title>
  4. <content>Treść</content>
  5. </item>


no i za pomocą wyrażeń wyłapię odpowiednie dane powiedzmy tylko tekst
Xniver
A nie możesz użyć SimpleXML?
marcinlenkowski
To jest genialne plusik dla ciebie, ale twierdzisz że to bedzię szybsze niż zapytania?
Xniver
Nie wiem, nie sprawdzałem. Ale korzystanie z bazy danych RACZEJ powinno być szybsze.
marcinlenkowski
No tak, ale z drugiej strony mamy gotowe API...
bim2
Działanie na plikach jest szybsze, ale nie za bardzo wygodne i na xmlu może chodzić wolniej, bo musisz to przekonwertować, najlepiej cache bazy danych rób, jesli tak dbasz o szybkość.
Sabistik
Cytat
Działanie na plikach jest szybsze,

Wszystko zależy jakie działanie. Odczyt - może, inne - nie bardzo.
bim2
Mhhh, no tak. Mówiłem raczej o odczycie, jesli chodzi o cache to "prawie" na tym to polega smile.gif Gorzej tylko, że jesli ktoś wymyśli sobie zapisywanie tego w xmlu, i później simpleXml'em odczytywanie tego to jednak chyba będzie to mniej wydajne niż serialize() unserialize()
marcinlenkowski
CASHE bazy danych?? przepraszam nie jestem doświadczony możesz mnie oświecić na czym to polega, bo myślałem że rozwiązanie z xml'em można nazwać właśnie CHASCHE'owaniem...
bim2
Teoretycznie tak, bo to jest podobne. Ale wydajniej będzie stosować file_put_contents('baza.txt', serialize($aDaneZBazy)); i odczyt unserialize(file_get_contents('baza.txt')); smile.gif

Działa to na zasadzie. Jeśli nie ma cache, pobierz dane z bazy i zapisz do cache oraz wyświetl. Jesli jest plik cache to pobierz z niego dane i wyświetl. Jak dodasz np. newsa to usuwasz odpowiedni plik cache i już smile.gif.
marcinlenkowski
Dzięki wielkie, plusik dla ciebie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.