Marco Quarona ha scritto:

Nel caso in cui invece vi sia un indice con entrambi i campi (CITTA e TIPO) non ci sono santi che tengano: la seconda è ovviamente più veloce. Poi possono esserci da fare sempre considerazioni sulla granularità, ma di certo la prima non potrà _mai_ essere più veloce della seconda.
Caro Marco, ti scordi una piccola cosa. Le Tabelle delle due query NON HANNO lo stesso set di Record: la prima contiene SOLO I CLIENTI, la seconda TUTTE LE ANAGRAFICHE, quindi la prima sarà SEMPRE più veloce della seconda perchè il campo TIPO semplicemente non esiste. Senza questa piccola osservazione, possiamo scrivere quello che vogliamo ed è sempre tutto giusto.
Ovviamente, più ci sono record e più le differenze di tempo aumentano. E quanto ti ho appena descritto si mostrerà in modo più netto. Quanto sto dicendo, non lo affermo solo in base alla logica di come funziona un db, ma anche in base all'esperienza che ho maturato... e le tabelle del sistema di cui dicevo che hanno 100.000 record non sono quelle grandi. Quelle grandi hanno 50 milioni di record.
Non ho idea su che sistemi lavori, 50 milioni di Record per una Tabella mi sembrano comunque tanti da gestire in ambito PC. Se parliamo di Mainframe, allora tutto cambia.
Poi, io uso Oracle che è un database abbastanza serio, ma credo che anche Access sappia valutare correttamente le query di cui sopra, usando gli indici che ha, prima di fare scansioni su tutta la tabella.
Come sai, ogni Db ha il suo metodo di ottimizzazione delle Query, quindi non è detto che la strategia migliore sia sempre e comunque la stessa, soprattutto in caso di ricerce complesse. Oracle è un ottimo prodotto, ma non è proprio alla portata di un utente medio di PC. Access funziona bene, è abbastanza veloce ma non è paragonabile ad un server di Db.
Il povero Base con HSQL si siede già con 500 schede, figurati.....

Ciao


--
Filippo Cerulo

blog    : http://6of9.softcombn.com/
e-mail  : [EMAIL PROTECTED]
web     : www.softcombn.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a