sql

Pozdravljeni,

imam zelo veliko tabelo (SQL Server) in mi podatke iz nje vleče približno 1 min.

Ali obstaja v sql-u kakšna funckija ali ukaz, ki pohitri izpis podatkov?

lp

Avtor: tedl, objavljeno na portalu SloDug.si (Arhiv)

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.

AndrejT
AndrejT - sreda, 28. februar 2007

spirit1:za kaj takega imas ponavadi poseben printer in direkt kabel do njega in dedicated connection samo za to.Ja, včasih je bilo tako, nove aplikacije pa za te stvari izrabljajo reporting (katerikoli že) in pa premike večjih količin podatkov.Kakorkoli, če za potrebe pregledovanja in urejanja podatkov v odjemalskih aplikacijah velja, da je premik večjih količin podatkov popolnoma nepotreben, pri batch izpisih pač ne gre drugače, kot da premakneš pol baze do odjemalca (naenkrat ali po delih), kjer pač vse to stiskaš. V primeru spletne aplikacije pa si aplikacijski in podatkovni strežnik itak ne moreta biti tako zelo daleč. Pa naj povem še to, da uporabo reportinga tu zagovarjam izključno v namene tiskanja, ne tudi pregledovanja.

spirit1
spirit1 - sreda, 28. februar 2007

ok to s placami je pa cisto drug scenarij.za kaj takega imas ponavadi poseben printer in direkt kabel do njega in dedicated connection samo za to.za kak navaden Client-Server scenarij pa je 100k vrstic le malce huda.

AndrejT
AndrejT - sreda, 28. februar 2007

spirit1:report iz 100.000 vrstic je neuporaben. prenasat 100.000 vrstic po mrezi je brezveze. Splošno gledano, to niti ni nujno res. Že ko izpisuješ plače za podjetje z 20.000 zaposlenimi, boš verjetno potreboval več zapisov. Lahko pa uporabnika prepričaš, da stiska plačilno listo za vsakega zaposlenega posebej :)Sicer pa, če prenašaš vseh 100.000 zapisov hkrati, indeksi verjetno ne bodo pomagali (bo pa zadeva vseeno počasna). Če pa je problem bolj občuten pri podajanju pogojev (ko naj bi se preneslo občutno manj, recimo npr. nekje 100 zapisov), pa se le loti indeksov.Dodatno dvomim še v crystalovo sposobnost dela v taki situaciji (število zapisov, spletna aplikacija), ampak to je le moje osebno mnenje...

spirit1
spirit1 - sreda, 28. februar 2007

ena ideja je tista ki jo je ze miha izrekel:dodaj indexe. 100.000 zapisov ni veliko.za kej vec pa nam bos moral pokazati kako izgleda ta tvoja tabela in kaken where pogoj lahko imas.da se razumemo:report iz 100.000 vrstic je neuporaben. prenasat 100.000 vrstic po mrezi je brezveze.

tedl
tedl - torek, 27. februar 2007

Ja stvar je taka da je v tabeli približno 100 000  zapisov, ob tem lahko na formi postavljam pogoje po katerih bo izpisoval. Vsi izpisani podatki pa se prikažejo na Crystal reportu kar vso zadevo še upočasni in aplikacijo se po določenih sekundah enostavno ustavi in zablokira. Gre pa za web aplikacijo (asp.net, C#)Morda kakšna ideja? hvala

spirit1
spirit1 - torek, 27. februar 2007

definiraj "zelo veliko"

AndrejT
AndrejT - ponedeljek, 26. februar 2007

S katerim odjemalcem izvajaš poizvedbe? Upoštevaj tudi dejstvo, da morajo podatki narediti še pot od strežnika do odjemalca [pri veliki količini to lahko znese tudi nekaj 10 MB), Pa če podatke uporabljaš v aplikaciji, se morajo (v večini običajnih primerih) po prenosu naselit po ustreznih objektih (npr. dataset, kar spet vzame nekaj časa) in šele nato prikazati.

MihaM
MihaM - ponedeljek, 26. februar 2007

Ponavadi indeksi pomagajo. Kako pa iščeš zapise?