Ado acces - accelerați-l!

Acces ADO + - accelerați-l!

Aloha! Am două întrebări privind accelerarea codului.

Având în vedere: DB Accession, 1 tabel, aproximativ 500 000 de înregistrări, dimensiune 200 megs. Acces prin ADOConnecție + ADOQuery.







1. Cum să accelerați conectarea la baza de date? După ADOConnection: = adevărat lung gândește și încetinește programul.

2. În ce mod vă puteți asigura că ADOQuery.Open nu va încetini firul principal? Ce setări pentru CursorLocation, ExecuteOption vor ajuta?

3. De ce este plictisitoare baza de date când o înregistrează? Până la concert se întâmplă și după comprimarea a 200 meg. Ce face această "comprimare"? Și poate fi pornit imediat?

2. Nu scrieți în Query SELECT * FROM tablica500tysch
3. Compresia reduce fișierul prin distrugerea zonelor neutilizate care rămân după ștergerea datelor. Nu puteți să-l activați. Acest loc este apoi utilizat automat pentru a încărca date noi fără a mări fișierul. Puteți mări dacă scrieți imagini sau muzică în baza de date sau indicatori de senzori în fiecare secundă

2. În ce mod vă puteți asigura că ADOQuery.Open nu va încetini firul principal? Ce setări pentru CursorLocation, ExecuteOption vor ajuta?

CursorLocation ===
clUseServer dacă este cazul pentru Acccess

ExecuteOption ===
eoAsyncExecute Comanda este executată asincron.
eoAsyncFetch Comanda preia rândurile rămase după cantitatea inițială specificată în proprietatea Cache în mod asincron.
eoAsyncFetchNonBlocking Executarea se realizează fără a bloca firul.

2Desdechado:
- # xA0; Și ce ar trebui apoi să scriu în interogare pentru a prelua datele ca nu este SELECT * FROM. ) Dar cursul gândurilor tale este clar pentru mine. Nu încerc să selectez totodată 500 mii, desigur, folosesc WHERE (Field1 = Value1) și (Field2 = Value2) și. numărul maxim de rânduri selectate este 600-800, dar este încă foarte lung :( Cum creez indexuri pentru a accelera acest lucru? Pentru fiecare câmp utilizat sau un compus?






- Baza de date nu stochează imagini și muzică (nu există câmpuri BLOB), conține informații despre fișierele de pe disc (descriere, atribute, cale către fișier). Datele nu au fost inca sterse (doar inregistrarile) si inca exista un concert fara compresie, iar dupa 200 de mii era ceva ciudat. poate că este sub câmpul de text (calea spre fișier) atâta havayet. - /

2Anatoly Podgoretsky
- Trebuie să specificați locația cursorului pentru Interogare sau Conexiune?
# xA0; sau atât acolo, cât și acolo?
- Am ajuta in mod natural predvariteno citit :) dar ExecuteOption = [eoAsyncFetch, eoAsyncFetchNonBlocking], Cache = 20 nifiga nu se Fetch asincronă 20 cusatura si toate pompele 600 simultan.
Se poate acorda atenție St MaxRecords

Pentru bazele de date locale, CursorLocation este ignorat.
Bază (mdb) pe această mașină?
Utilizator unul sau mai multe?
Poate ar trebui să te uiți în direcția MSDE sau Embedded FireBird?

2 AlexWlad
- baza de date poate fi, de asemenea, pe aparatul de la distanță
- mai mulți utilizatori (aproximativ 3-5)

MSDE este și greoaie pentru sarcina noastră.
Despre FireBird a auzit, dar despre Embedded pentru prima dată, ce fel de bestie?

UnDISCOvery # xA0; (08.09.05 20:41) [5]
Nu mai mult decât Akces.

UnDISCOvery # xA0; (08.09.05 19:46) [3]
Am decis ca Bill să facă un nou sistem de fișiere.

selectați câmpul1, câmpul1 de la.

numai câmpurile obligatorii. La rata de eșantionare, acest lucru poate afecta foarte mult


> - Trebuie să specificați locația cursorului pentru Interogare sau Conexiune?

Pentru întrebare

Și totodată - cum să accelerați procesul de stabilire a unei conexiuni ADO cu DB Accession? Ce setări pot afecta acest lucru?

Am citit răspunsurile, cum altfel. Și întrebări?
Aceasta nu este o mostră, ci o conexiune la baza de date în sine.

"1. Cum de a accelera conexiunea la baza de date? După ADOConnection: = adevărat lung gândește și încetinește programul."

În ADOConnecție, trebuie să instalați CursorLocation = clUseServer? Acest lucru va accelera procesul de stabilire a unei conexiuni?

Acces - un server de fișiere, cel mai probabil la o conexiune este stocat ceva în memoria cache a clientului într-o rețea
la volumele mari ale unui DB cache-ul prea poate fi destul de mare

Perehodi na FB, razmer distributiva - bărbați "she ne pridumajesh: o)
i baze tak puhnem "nu budet i tormozov trudneje dostich.

UnDISCOvery # xA0; (09/09/05 12:34) [10]

Distribuția MSDE este un folder separat. Ia un CD cu Offis și vezi - nu e atât de mult. Un alt lucru, dacă ai nevoie de EM, QA, Profiler. Aici trebuie să faceți un disc cu un server complet și să-l puneți de acolo.

Pentru unități, setul de distribuție este gratuit pentru descărcare.







Articole similare

Trimiteți-le prietenilor: