Pobieranie rekordów z bazy mysql a wydajność- RPAD: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
m (Zastępowanie tekstu - "<source lang="mysql">" na "<pre>")
 
(Nie pokazano 3 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
[[Plik:rpad.png|200px|thumb|Right|(pobieramy maksymalnie 10 znaków pola strona)]]
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.


Linia 8: Linia 10:


Przykład zastosowania:
Przykład zastosowania:
<source lang="mysql">
<pre>
SELECT RPAD (strona , 10 , '') FROM 'strony_komentarze' as test
SELECT RPAD (strona , 10 , '') FROM 'strony_komentarze' as test
</lang>
</pre>
 
 
 


Przykładowy wynik:


(pobieramy maksymalnie 10 znaków pola strona)
[[Plik:rpad.png]]


[[Category:MySQL]]
[[Category:MySQL]]

Aktualna wersja na dzień 14:30, 18 lut 2018

(pobieramy maksymalnie 10 znaków pola strona)

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