| Izpisovanje cca. 20000 zapisov iz baze | ||
|---|---|---|
|
nene
9. okt 2012 07:49:36
Pridružen od: 10. jan 2008 190 objav 67 7 1 |
#1
Zdravo mojstri. Rabim nekaj pomoči oz. idejo. V mySQL bazi imam tabelo s cca. 20000 zapisi. Vsak zapis je sestavljen iz 11 parametrov, torej 11 stolpcev. To tabelo bi rad izpisal na spletni strani. :) Vem, velika količina podatkov. :) Spletna stran teče na Joomli, za izpisovanje podatkov pa uporabljam Ari Data Tables. V ta modul pač vpišem SQL query in modul izpiše lepo tabelo. Ker gre za veliko količno podatkov, se stran nalaga in nalaga, večkrat pa vrže tudi blank page, ker je dosežen PHP memory limit. Tako, da moram poiskati drugo rešitev. Ker nisem nek hud programer iščem malo pomoči, kako to zapeljati. Glavni namen tega je iskanje po teh zapisih. ARI Data Tables ima to super rešeno, ker omogoča "on the fly" iskanje po teh zapisih, zato mi je všeč. Je sploh možno prikazati 20000 zapisov brez kakšnega hudega nalaganja? Ker trenutno se vedno vnovič izvede ta SQL query, ki seveda traja in traja, da ne omenjam sistemskih resursov. Če to ne bo šlo ostane opcija iskalnika kot obrazca, torej iščem vse zapise iz Ljubljane izberem kraj Ljubljana in kliknem iskanje. Potem mi ta query izpiše samo zapise s poljem "Ljubljana". Še kakšna ideja/rešitev? |
|
|
Mešetar
9. okt 2012 07:57:21
Pridružen od: 24. nov 2010 1543 objav 1945 962 114 |
#2
seveda da ni mozno...no, ce bi imel ogromno kolicino spomina tako na serverju kot na svoji masini, potem ja... je pa tudi omejitev pri php skriptah, max 128M za izvajanje... tako da tudi ce bi to zelel, bi mogu izpisovati po batchih, nekaj tisoc rekordov naenkrat v spominu za zanko.... torej pusti ti tiso iskanje on the fly, ki seveda ni mozno uporabiti v tvojem primeru... priporocam izpis po straneh... iskanje pa naredi po bazi in ne v live html tabeli...veliko hitrje in bolj smotrno, predvsem pri veliki kolicini pdoatkov ne pozabi postaviti indexov v mysql tabeli na polja, kjer opravljas iskanje |
|
|
Lucifix
9. okt 2012 08:34:15
Pridružen od: 14. okt 2008 744 objav 438 12 0 |
||
|
pavarti
9. okt 2012 09:03:28
Pridružen od: 26. okt 2011 445 objav 587 92 14 |
||
|
nene
9. okt 2012 10:37:32
Pridružen od: 10. jan 2008 190 objav 67 7 1 |
#5
Ja, sem se bal da bo tako. Dobro, nič ne de, bo pač iskanje po bazi. @pavarti To bom, ker nekaj polj ne bom prikazoval. Je tudi sicer kakšna razlika, če bi hotel prikazati vsa polja, de ne uporabim SELECT *? Sicer pa hvala vsem. Sedi, +. :) |
|
|
pavarti
9. okt 2012 11:17:10
Pridružen od: 26. okt 2011 445 objav 587 92 14 |
#6
Tukaj je enostavna logika. Več podatkov zahtevaš, več resourcev porabiš (časa pozivedve, prenos podatkov med mysql in php, memorija ...). Ampak mislim da najprej podpri paging, s tem boš gotovo rešil težavo. |
|
|
zeko
9. okt 2012 11:17:18
Pridružen od: 26. feb 2010 2680 objav 3522 839 122 |
noobiliate & bizarre domain name collector
|
|
|
pavarti
9. okt 2012 11:27:52
Pridružen od: 26. okt 2011 445 objav 587 92 14 |
#8
To bi jaz odsvetoval. Če je vrstic preveč bo trpela memorija brskalnika, v najslabšem primeru se lahko brskalnik tudi sesuje, v kolikor ima uporabnik malo rama. |
|
|
Mešetar
9. okt 2012 11:33:27
Pridružen od: 24. nov 2010 1543 objav 1945 962 114 |
#9
seveda je odvisno od DOM elementov... ce se gre za simple table row, z nekaj stolpci in navadnimi tekstovnimi podatki notri, jih je komot na strani od 500-1000, tudi vec |
|