Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 1.994 pregleda

Najnovija ↓

Paginacija performanse 10.09.2024. u 16:57 · pre 26 meseci #1
Kažu da paginacija preko OFFSET i LIMIT negativno utiče na performanse, jer navodno OFFSET radi tako što preskače sve rekorde na način da jede procesorku snagu pa ako je tabela velika, dobije se značajno usporenje.

Pa kažu, bolje da se koristi metoda sa markerom a to je sa druge strane zezancija za pravljenje. Šta bi bio marker, možda ID... a šta ako je GUID, kako tu da napraviš marker, šta je manje a šta veće od određenog GUID-a?!

Koliko zaista OFFSET utiče na performanse i koliko bi tabele trebalo da budu velike da bi to bio nekav problem? Ako to nisu neka značajna usporenja, verovatno je jednostavnije to da se koristi.
Re: Paginacija performanse 10.09.2024. u 17:50 · pre 26 meseci #2
O kojoj kolicini podataka se radi u selectu?

Da bi limit i offset imali smisla neophodno je prethodno uraditi sort. Ako select ima rezultat u stotinama miliona redova a tebi treba samo prvih 500 redova - jasno ti je da je potrebno prvo sortirati svih par stotina miliona da bi se uopste znalo kojih 500 su prvi.

Sort i offset su ok ako govorimo o nekom selectu sa malim brojem redova ali ako imas puno redova i hoces da radis offset i limit to znaci da ti nesto sa dizajnom ne valja.
Re: Paginacija performanse 11.09.2024. u 01:32 · pre 26 meseci #3
Moz bidne a ne mora da znaci.
Sto ti rece Hlad, mora se odradi sortiranje i filtriranje da bi mogao
da zna sta je offset+x slog, nema sanse drugacije...

e sada, rdbms ce koristiti sve moguce nacine da optimizuje taj exec
plan da bi dobio te rezultate sto pre pa ako npr sortiras po indexu
on moze mnogo toga na preskok da nadje...

to sto mozes da uradis sa markerom je vise manje isti klinac jer ako
imas filtere markeri ti nista ne pomazu jer zavisno sta ti je u where...

ako pogledas kroz istoriju, sajtove sa velikom datom paginacija kroz
istoriju prestaje da postoji ... imas "daj jos" i to je to a gde imas
"strane" one su "odokativnom" metodom tu, radi se odokativna procena
koliko imas strana i realno radis "next" a ne "27. strana" ... jer
videces na mnogim sajtovima, kaze ima 500 strana a onda na 324. strani
prc, nema dalje :D ... tako da ta estimacija i "next next" je sw nacin
da simuliras paging a da bude brzo a za to imas razne metode no to sada
vec prevazilazi okvire price o samoj bazi :D
Potpis
arhimed
http://www.mysql.rs/ | http://elco.crsndoo.com/
Re: Paginacija performanse 11.09.2024. u 09:47 · pre 26 meseci #4
Ako je složeni selekt iz više tabela, ili hoćeš da mogućiš da korisnik sortira podatke po želji i slično, onda uradiš selekt u privremenu tabelu pa dalje paginaciju prikazuješ iz te privremene tabele.
Potpis
http://pedja.supurovic.net - http://wireless.uzice.net - Besplatni .RS domeni - Mikrotik uputstva - YT9TP - OpenStreetMap Srbija
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme