Newsgroup: it.comp.appl.access
Titolo: 120mila record, lentezza nelle operazioni

Ciao! :)
Ho una tabella su un db con 120mila movimentazioni, e ogni gg
aumentano di circa una 40ina/60ina...(svuoto a fine anno la tabella)
Ho delle query di selezione per data (odierna, e Dal/Al), solo ke
quando filtro la query dalla maschera mi ci mette molto a trovare il
risultato, anche se magari e' di soli 4/5 record...
come posso risolvere? non vorrei migrare a mysql o sqlserver visto che
si tratta di un MINIgestionalino di sole 6/7 tabelle con max 3mila
record ciascuna, ad eccezione della Movimenti.
Help...non ho idea di come poter fare....cioe'...SQL server...ma 2
milioni di sql server per gestire 4 movimentazioni e basta....mi par
esagerato...
Cosa si puo' fare per VELOCIZZARE al massimo la questione?
Ciao :)

 ha scritto nel messaggio
news:t2r9fv43fid0mpvtn...@4ax.com...


 ha scritto nel messaggio
news:t2r9fv43fid0mpvtn...@4ax.com...

Spezzare la tabella Movimenti in mesi...
Ciao.
--
Sergio MAZZA

 wrote in message
t2r9fv43fid0mpvtn...@4ax.com...

Hai provato a vedere cosa ti consiglia di fare Access con Strumenti =>
Analizza => Prestazioni ?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 
certo, indicizzo sempre tutto...ma sono 125mila record...e ogni gg
aumentano sempre... :)
l'analizzatore mi ha suggerito (come consigliatomi di fare da roberto)
di creare delle relazioni...ma su nulla, visto ke le altre tabelle nn
centranu nulla con questa...
mah :)
scusate, ma sono una schiappa :)

 Spezzare la tabella Movimenti in mesi...
cioe' una tabella per ogni mese?
e' per un bideonoleggio, e capita che un cliente possa avere noleggi
film in mesi diversi e non ancora consegnati, quindi dovrei fare +
query su + tabelle per far visualizzare i noleggi di quel
cliente...non credo sia conveniente uan cosa del genere....ci avevo
gia pensato..credi che cmq migliori la prestazione?

 ha scritto nel messaggio news:t2r9fv43fid0mpvtn...@4ax.com...

Ciao,
se la query incriminata effettua anche l'ordinamento dei dati, prova ad eliminarlo (se puoi), in genere ho notato, su tabelle di
grandi dimensioni, un notevole incremento di prestazioni.
Mat.

Mat.
ho gia tolto....aveva migliorato, am di pochissimo...forse c'ho messo
troppi requery :) (scherzo)
mo vedo :)
cmq intanto grazie a tutti per i suggerimenti.

 gia pensato..credi che cmq migliori la prestazione?
Carino il bideonoleggio (Eh! Eh!); ehmm... Non vedo grossi problemi, si
tratta di "calibrare" bene le tipologie di estrazione dati. Certo se ti
viene chiesto di visualizzare tutti i bi(vi)deonoleggi di un qualsiasi
cliente, nessuno potrà pretendere che avvenga un 4 e 4 = 8!.
Mentre se devi cercare l'ultimo bo(no)leggio che deve essere restituito
potresti, al massimo, cercare nel mese precedente (anno se parliamo di
gennaio). Chi è che si tiene una ba(ca)ssetta per un anno intero? Un pazzo!
Quanto gli costa? Potresti fare (se non l'hai già fatto) una procedura che
segnali il superamento del periodo limite così da "limitare i danni" per
l'utente (soldi) e per la procedura (tempo elaborazione)...
Ciao.
--
Sergio MAZZA

 l'utente (soldi) e per la procedura (tempo elaborazione)...
si si, fatte tutte queste cose.
Ciao :))


prova a portare la data e la chiave in un altra tabella (solo questi attributi
ed indicizza per data, attenzione alle "OR" nelle where e' meglio fare una union
che una "or")
esegui la query, se risparmi tempo fai una join (tenendo a sx questa tabella)
con la tabella completa e vedi che succede
Nella select non mettere mai "*" sopratutto se non ti servono tutti i campi
--
a.cara 
Togli qualcosa dall'email

 Ciao :))
Ciao.
--
Sergio MAZZA