Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP]Cachowanie wyników sortowania
Userr
post 10.03.2017, 12:32:27
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 27.10.2015

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


1. Przechowuje w tabeli MySQL dane bardzo wielu osób, coś w tym stylu:

Cytat
Imię Nazwisko Numer:
Jan Kowalski 634635325
Piotr Nowak 36746436
Tomasz Pietrzak 73622879
itd...


Na stronie te dane będą wyświetlane w formie tabeli HTML (<table>). Tabelę MySQL wystarczy posortować (po kolumnie numer - od największego do najmniejszego) raz na dzień i ponieważ tabela MySQL ma bardzo dużo wierszy, to postanowiłem, że będę cachował wynik sortowania i aktualizował raz na dzień po ponownym sortowaniu (żeby oszczędzić moc serwera). Rzecz w tym, że nigdy nie używałem cachownia na stronach i nie wiem, czy bardziej wydajniejsze rozwiązanie będzie gdy zacachuję posortowane wyniki od razu z kodem html tabelki:

  1. <tr>
  2. <td>Tomasz</td>
  3. <td>Pietrzak</td>
  4. <td>73622879</td>
  5. </tr>
  6.  
  7. <tr>
  8. <td>Jan</td>
  9. <td>Kowalski</td>
  10. <td>634635325</td>
  11. </tr>
  12.  
  13. <tr>
  14. <td>Piotr</td>
  15. <td>Nowak</td>
  16. <td>36746436</td>
  17. </tr>


czy tylko sam posortowane dane o osobach (jak ponizej)?

Cytat
Tomasz Pietrzak 73622879
Jan Kowalski 634635325
Piotr Nowak 36746436


Wydaje mi się, że wydajniej byłoby to zacachowac od razu z kodem HTML tabelki, bo jak będzie zacachowany tylko wynik sortowania, to dla każdego wiersza trzeba będzie robić coś w tym stylu:

  1. osoby_temp[$i] = explode(" ", $osoby[i]);


2. Z jakiego rozwiązania polecalibyście skorzystać na początku? Chodzi mi, żeby to było w miarę przystępne do nauki. Co powiecie o takiej klasie do cachowania?

Temat: klasa Cache
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Userr
post 10.03.2017, 16:37:11
Post #2





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 27.10.2015

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


Ale tak cachuje sama z siebie? smile.gif

W tym przypadku (sortowanie po kolumnie "numer") trzeba chyba dodać index do kolumny "numer", żeby sortowanie było dużo szybsze (i mniej obciążało serwer)?

Jeżeli chciałbym dodać index do kolumny numer, to wystarczy jeden jedyny raz napisać poniższe zapytanie (np. zaraz po stworzeniu tej tabeli "osoby", nawet jeżeli nie ma tam jeszcze żadnych danych)?

Cytat
CREATE UNIQUE INDEX numer_malejaco ON osoby (numer)


Pole do które dodaje się index nie musi być chyba polem kluczowym?

Ten post edytował Userr 10.03.2017, 16:38:22
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 19:25