Novo

Forum kao aplikacija na telefonu

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

  • 30 odgovora
  • 9.066 pregleda

Najnovija ↓

Re: Višestruki Insert u tablici 18.02.2011. u 16:28 · pre 191 mesec #21
Algoritam (postupak) si ti već napisao. Otvori se tablica i for petljom jedan po jedan...
Re: Višestruki Insert u tablici 18.02.2011. u 21:25 · pre 191 mesec #23
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.

Potpis
zxz
Re: Višestruki Insert u tablici 18.02.2011. u 23:07 · pre 191 mesec #24
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.
Re: Višestruki Insert u tablici 18.02.2011. u 23:37 · pre 191 mesec #25
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.
Re: Višestruki Insert u tablici 18.02.2011. u 23:44 · pre 191 mesec #26
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.
Potpis
Pozdrav,
Branislav
Re: Višestruki Insert u tablici 18.02.2011. u 23:52 · pre 191 mesec #27
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.
Potpis
Pozdrav,
Branislav
Re: Višestruki Insert u tablici 18.02.2011. u 23:54 · pre 191 mesec #28
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.
Potpis
zxz
Re: Višestruki Insert u tablici 19.02.2011. u 00:50 · pre 191 mesec #29
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
Re: Višestruki Insert u tablici 19.02.2011. u 01:08 · pre 191 mesec #30
To radi drugačije, ne otvara i zatvara konekciju za svaki zapis.
Potpis
Pozdrav,
Branislav
Re: Višestruki Insert u tablici 19.02.2011. u 08:12 · pre 191 mesec #31
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.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme