Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Višestruki Insert u tablici

[es] :: Access :: Višestruki Insert u tablici

Strane: 1 2

[ Pregleda: 5847 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.237.*



+9 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 15:28 - pre 160 meseci
Algoritam (postupak) si ti već napisao. Otvori se tablica i for petljom jedan po jedan...
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
46.188.179.*



+19 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 16:23 - pre 160 meseci
probao sam sa sql lite, on je još sporiji.
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-7077.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 20:25 - pre 160 meseci
Sporost operacije nije u zapisu. To sto spominjes koliko imas redova nikako nesmije toliko trajati i na naj losijem racunaru.
Tvoja porost je u kodu.
Evo da pokusam dokuciti.
Imas tabelu ucenika koju noras podici kao recordset i pokrenuti u petlji.
Unutar ove petlje imas tabelu pitanja koja bi se trebala zavrstiti ili pak ovdje generises slucajan broj koji ide u rasmonu od 1 do broja rekorda u tabeli pitanja a petlja se krece u rasponu od 1 do broja pitanja za jednog ucenika.
I to nebi bio neki problem da nije toga da se pitanje nesmije ponoviti a slucajan broj itekako se hoce ponoviti pa onda moras ispitivati jeli se ponovio pa ako jeste onda preskaces i to traje vjecnost.
Umjesto ovoga mozes podisi recordset za svakogo ucenika sa random slaganjem.
Onda ti vise netreba radom u kodu nego jednostavno napravis drugu petlju da se krece do broja pitanja za jednog ucenika i ne preskaces recordset nego redom prepisujes.

Drugo je pitanje kako napraviti random odnosno slucajan broj ako znamo da slucajan broj i nije bas slucajan.
Dobro da vidim dovdje jesam li na pravomtragu.


zxz
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.adsl.net.t-com.hr.



+9 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 22:07 - pre 160 meseci
Sporost je u kodu, ali samo iz razloga jer se podaci sekvencijalno upisuju u bazu. Generiranje i odabir slučajnih brojeva se može vremenski zanemariti jer od 200 zadataka vrlo rijetko se dogodi da se u 10 slučajno odabranih nađu 2 ili više istih pa da se taj proces treba ponoviti. Čak i ako zanemarimo generiranje slučajnih brojeva i u bazu (tablicu) upisujemo samo konstante (npr. broj 1 u svaki redak) to traje oko 3-5 min za 65000 zapisa.
 
Odgovor na temu

mkaras
Marko Karas
Beograd

Član broj: 66087
Poruke: 427



+19 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 22:37 - pre 160 meseci
On 18.2.2011 16:28, "itf" wrote:
Citat:

Algoritam (postupak) si ti već napisao. Otvori se tablica i for petljom
jedan po jedan...
--


Ako si koristio algoritam koji sam naveo u prethodnom postu onda brže od
toga ne možeš. Pokušaj da malo drugačije sagledaš problem. Možda da se
pripreme grupe zadataka ranije pa da se u datom trenutku samo podele.
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 22:44 - pre 160 meseci
Ja bih ipak glasao za SQL. 65000 zapisa za 3-5 minuta je očajno sporo, šta bi se tek desilo da je to u mreži sa više korisnika, trajalo bi pola sata.

Dopuna: sećam se da sam ranije, imam to negde, napravio jedan program koji generiše slučajne brojeve i popunjava bazu. Upisivao je oko milion zapisa za vrlo kratko vreme, minut dva možda. Ta tabela mi je trebala za testiranje nečeg drugog.
Pozdrav,
Branislav
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 22:52 - pre 160 meseci
Hmm... ja mislim da sporo radi, jer svaki čas otvaraš i zatvaraš ado konekciju ka bazi. Sam SQL radi kao munja, problem je konekcija.

Zaobilazno bi mogao da napucaš prvo jedan TEXT fajl i onda otvoriš ADO konekciju i prepišeš iz TXT u MDB. To bi trebalo da se desi u roku od sekund-dva.
Pozdrav,
Branislav
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
*.PPPoE-7077.sa.bih.net.ba.

Sajt: www.icentar.ba


+2 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 22:54 - pre 160 meseci
Jesil probao sa recordsetovima. Nisi rekao ni koju konekciju koristis.
Najbolje bi bilo kad bi vidjeli kod.
Ovako je bespredmetno dalje. Pretpostavljam da jos dvije tabele podizes prije a to je tabela ucenika i tabela pitanja.
zxz
 
Odgovor na temu

mkaras
Marko Karas
Beograd

Član broj: 66087
Poruke: 427



+19 Profil

icon Re: Višestruki Insert u tablici18.02.2011. u 23:50 - pre 160 meseci
Upravo probano sa Datanamic DB Data Generator MultiDB Edition 2.2.1. Reč
je o Access-u 2003 i tabeli sa poljima ID(AutoNumber), nesto(text,50).
generisano je 100 000 redova sa popunjavanjem tabele slučajnim tekstom
sa uvek istim brojem znakova (50), za nekih 100 sekundi. Kada je polje
nesto(integer) generisanje 100 000 zapisa traje samo 3(tri) sekunde.
Negde u kodu postoji sistemska greška koja krade vreme
 
Odgovor na temu

banem
Kikinda

Član broj: 16619
Poruke: 583
*.dynamic.sbb.rs.



+15 Profil

icon Re: Višestruki Insert u tablici19.02.2011. u 00:08 - pre 160 meseci
To radi drugačije, ne otvara i zatvara konekciju za svaki zapis.
Pozdrav,
Branislav
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
161.53.237.*



+9 Profil

icon Re: Višestruki Insert u tablici19.02.2011. u 07:12 - pre 160 meseci
Koristim ADO.

Pseudo kod:

Code:
Otvori konekciju prema bazi
za i=1 do 65000
     dodaj zapis(i)
Zatvori konekciju


Inače, moja je greška što nisam primjetio da je program zapravo jako spor jer aplikacija je pokrenuta u IDE-u. Izvan njega treba joj 50 sec... I to je sporo, ali ipak puno bolje.
 
Odgovor na temu

[es] :: Access :: Višestruki Insert u tablici

Strane: 1 2

[ Pregleda: 5847 | Odgovora: 30 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.