Mam tabelę HTML i pobieram wynik z dużej bazy danych MySQL w niej, te wyniki mogą być tysiącami rekordów (wierszy).

Moje pytanie brzmi, czy tabela HTML poradzi sobie z tą sytuacją? i czy rozwinie się i pokaże wszystkie te wiersze na jednej stronie?

0
Hamza Dabjan 20 grudzień 2019, 02:53
9
HTML nie powinien mieć takiego ograniczenia (zdecydowanie nie przy tysiącach kopii zapasowych), ale możesz mieć problem z wydajnością pobierania strony, wydajnością lokalną (pamięć), nawet wydajnością zaplecza. Jeśli nie masz konkretnego powodu, aby pokazywać wszystko na jednej stronie, rozważ rozwiązania dotyczące paginacji, filtrowania, leniwego ładowania itp.
 – 
Anatoliy R
20 grudzień 2019, 02:58
Limit będzie na systemach Twoich klientów. Zakładając, że nie dołączasz wszystkich wierszy do zmiennej. Możesz przetestować wydajność za pomocą czegoś takiego: 3v4l.org/nmY8a zwiększ $limit, aby zobaczyć, jak wiersz wpływa na wydajność. Prawdopodobnie 5 komórek zajmie 5 * tyle zasobów.
 – 
user3783243
20 grudzień 2019, 03:22

1 odpowiedź

O ile wiem, nie ma ograniczeń co do liczby rows, które możesz wydrukować w elemencie HTML <table>.

Jednak samo drukowanie wszystkich tych danych na stronie nie jest dobrą praktyką User Experience (w większości przypadków).

Inną kwestią, o której należy pamiętać, jest to, że jeśli masz tysiące wierszy, Twoja strona może spowolnić przetwarzanie wszystkich danych, a nawet ulec awarii.

Dwie opcje, które musisz rozwiązać, to:

01 - Ogranicz dane pochodzące z serwera

Jeśli masz kontrolę nad serwerem (backend), możesz ograniczyć liczbę wyników, które będą zwracane do klienta (frontend).

Plusy:

  • Większa kontrola nad danymi
  • Szybsze ładowanie Twojej strony

Cons:

  • Twój serwer staje się bardziej złożony, ponieważ musi obsłużyć limit danych (paginacja)
  • Każda operacja na danych (sortowanie, filtrowanie, wyszukiwanie) musi odbywać się na serwerze, co może być powolną operacją dla użytkownika

02 - Ogranicz dane za pomocą biblioteki po stronie klienta

Obecnie jest na to wiele opcji. Od czystego JavaScript do jQuery, React itp. Wszystko zależy od używanej technologii, ale szybkie wyszukiwanie w "bibliotece tabel javascript" zwróci Ci wiele opcji.

Możesz też poradzić sobie z tym samodzielnie, ale te biblioteki są zwykle zoptymalizowane do obsługi dużych ilości danych przy użyciu wirtualizacji i innych technik.

Plusy:

  • Operacje są zwykle szybsze dla użytkownika
  • Większa kontrola po stronie klienta (co oznacza większą kontrolę dla użytkownika)

Cons:

  • Początkowy czas ładowania jest zwykle wolniejszy (ponieważ musisz załadować całe dane)
  • Możliwa zależność od biblioteki innej firmy i jej ograniczenia
2
Bruno Monteiro 20 grudzień 2019, 03:05