GG 12.4.111.12201
Reprodukcja:
1. Zacząć wyszukiwanie ludzi z katalogu, np. mężczyźni, lat 23-25, bez wpisywania miasta
2. Przewinąć wyniki trochę w dół
3. Poczekać 3 minuty
4. Znowu przewinąć w dół.
Efekt: Wyniki powtarzają się na liście.
Oczekiwanie: Wyniki nie powtarzają się.
Przyczyna: select do bazy danych z sortowaniem po niestabilnym kluczu z paginacją bez cache'owania wyników.
Rozwiązania:
1. Sortować wyniki po stabilnym kluczu, np.:
a) Numerze gg
b) Czasie ostatniego bycia online w chwili zapytania, tj. zcache'ować wynik zapytania na serwerze i kolejne selecty do dalszych stron pobierają
2. Przesyłać od razu całą listę kluczy do klienta, ileż to może ważyć, 10 kilobajtów? Pseudonimy, awatary i tak pobiera w osobnym zapytaniu do serwera. Nie używać OFFSET w zapytaniach SQL.
3. Dodać w profilu pole na wybór "konto do RP", "wymagam daniny", "nie pokazuję zdjęć" i umożliwić odfiltrowanie niepasujących w wyszukiwaniu - w ten sposób nawet przy bałaganie w wynikach wyszukiwania łapiej będzie się odnaleźć użytkownikowi.
Ciekawostka: problem nie pojawia się przy wybraniu miasta. Użyty stabilniejszy klucz?
Reprodukcja:
1. Zacząć wyszukiwanie ludzi z katalogu, np. mężczyźni, lat 23-25, bez wpisywania miasta
2. Przewinąć wyniki trochę w dół
3. Poczekać 3 minuty
4. Znowu przewinąć w dół.
Efekt: Wyniki powtarzają się na liście.
Oczekiwanie: Wyniki nie powtarzają się.
Przyczyna: select do bazy danych z sortowaniem po niestabilnym kluczu z paginacją bez cache'owania wyników.
Rozwiązania:
1. Sortować wyniki po stabilnym kluczu, np.:
a) Numerze gg
b) Czasie ostatniego bycia online w chwili zapytania, tj. zcache'ować wynik zapytania na serwerze i kolejne selecty do dalszych stron pobierają
2. Przesyłać od razu całą listę kluczy do klienta, ileż to może ważyć, 10 kilobajtów? Pseudonimy, awatary i tak pobiera w osobnym zapytaniu do serwera. Nie używać OFFSET w zapytaniach SQL.
3. Dodać w profilu pole na wybór "konto do RP", "wymagam daniny", "nie pokazuję zdjęć" i umożliwić odfiltrowanie niepasujących w wyszukiwaniu - w ten sposób nawet przy bałaganie w wynikach wyszukiwania łapiej będzie się odnaleźć użytkownikowi.
Ciekawostka: problem nie pojawia się przy wybraniu miasta. Użyty stabilniejszy klucz?
Komentarz