Pobieranie rekordów z bazy mysql a wydajność- RPAD: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
(Utworzył nową stronę „Niejednokrotnie konieczne jest pobranie rekordu z bazy i skrócenie go przed wyświetleniem do określonej ilości znaków. Zazwyczaj wykonuje się to za pomocą '''sub...”) |
|||
Linia 1: | Linia 1: | ||
Niejednokrotnie konieczne jest pobranie rekordu z bazy i skrócenie go przed wyświetleniem do określonej ilości znaków. | Niejednokrotnie konieczne jest pobranie rekordu z bazy i skrócenie go przed wyświetleniem do określonej ilości znaków. | ||
Zazwyczaj wykonuje się to za pomocą '''substr''' jednak | |||
rekordu i dopiero wykonanie na na nim operacji skracania co znacznie | Zazwyczaj wykonuje się to za pomocą funkcji php '''substr''' jednak jest to rozwiązanie obarczone pewną wadą. | ||
Konieczne jest pobranie całego rekordu i za-alokowanie dla niego pamięci, dopiero poźniej wykonanie na na nim operacji skracania co znacznie spowalnia serwer (zabiera zasoby ram procesu interpretera php, oraz generuje ruch między serwerem mysql a www) w wypadku długich stringów. | |||
Znacznie bardziej eleganckim rozwiazaniem jest skorzystanie z Mysql-owej funkcji '''RPAD''' która pozwala nam pobrać z bazy określona ilość znaków z rekordu. | Znacznie bardziej eleganckim rozwiazaniem jest skorzystanie z Mysql-owej funkcji '''RPAD''' która pozwala nam pobrać z bazy określona ilość znaków z rekordu. | ||
Przykład zastosowania: | Przykład zastosowania: | ||
<pre> | |||
SELECT RPAD (strona , 10 , '') FROM 'strony_komentarze' as test | SELECT RPAD (strona , 10 , '') FROM 'strony_komentarze' as test | ||
</pre> | |||
Przykładowy wynik: | |||
(pobieramy maksymalnie 10 znaków pola strona) | |||
[[Plik:rpad.png]] |
Wersja z 00:14, 16 paź 2010
Niejednokrotnie konieczne jest pobranie rekordu z bazy i skrócenie go przed wyświetleniem do określonej ilości znaków.
Zazwyczaj wykonuje się to za pomocą funkcji php substr jednak jest to rozwiązanie obarczone pewną wadą.
Konieczne jest pobranie całego rekordu i za-alokowanie dla niego pamięci, dopiero poźniej wykonanie na na nim operacji skracania co znacznie spowalnia serwer (zabiera zasoby ram procesu interpretera php, oraz generuje ruch między serwerem mysql a www) w wypadku długich stringów.
Znacznie bardziej eleganckim rozwiazaniem jest skorzystanie z Mysql-owej funkcji RPAD która pozwala nam pobrać z bazy określona ilość znaków z rekordu.
Przykład zastosowania:
SELECT RPAD (strona , 10 , '') FROM 'strony_komentarze' as test
Przykładowy wynik: