Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.visual-basic > #19829

Istruzioni SQL con VB6 e MDB con DAO

From "Sauro" <vicchi@crsscala.it>
Newsgroups it.comp.lang.visual-basic
Subject Istruzioni SQL con VB6 e MDB con DAO
Date 2020-10-01 08:52 +0200
Organization Aioe.org NNTP Server
Message-ID <rl3ubj$1h10$1@gioia.aioe.org> (permalink)

Show all headers | View raw


Ho una tabella "Rilevamenti" che contiene tutte le lavorazioni
effettuate dai dipendenti da parecchi anni.
Tra gli altri la tabella contiene i sequanti campi:
Dip        campo stringa   codice dipendente    è un campo indicizzato
Comm   campo stringa   numero commessa   è un campo indicizzato
DataEff  campo data      data della lavorazione

Sono presenti 400 mila record con un massimo di 50 mila record
per un singolo dipendente.
La funzione incriminata è quella che mi deve far vedere le lavorazioni
di un dipendente per l'ultimo mese.
Ho quindi spezzato la ricerca in due fasi.
La prima per trovare la data dell'ultima registrazione per il dipendente
scelto e la seconda per trovare effettivamente le lavorazioni dell'ultimo
mese.
Tutto è andato bene fino a qualche giorno fà con tempi di esecuzione
accettabili (qualche secondo) poi improvvisamente, solo per i
dipendenti con molti record, si è arrivati a superare il minuto.
Sto tuttora facendo delle prove ed ho verificato che è la prima ricerca
(quella per trovare la data) che impiega tanto tempo.

Prima l'istruzione era:
StringaSQL="SELECT DataEff FROM Rilevamenti WHERE Dip='CodDip' ORDER BY 
DataEff DESC"
ListaRec=PublicDB.OpenRecordSet(StringaSQL)
UltimaData=ListaRec.Fields(0)

Adesso andrò a provare le seguenti due prove:
StringaSQL="SELECT TOP 1 DataEff FROM Rilevamenti WHERE Dip='CodDip' ORDER 
BY DataEff DESC"
StringaSQL="SELECT Max(DataEff) FROM Rilevamenti WHERE Dip='CodDip'"

Secondo voi quale sarà la più veloce?
C'è poi una terza istruzione ancora più veloce?
Io mi stò concentrando sull'istruzione SQL ma forse il problema è
da qualche altra parte?

Grazie a tutti
Saluti
Sauro 

Back to it.comp.lang.visual-basic | Previous | NextNext in thread | Find similar


Thread

Istruzioni SQL con VB6 e MDB con DAO "Sauro" <vicchi@crsscala.it> - 2020-10-01 08:52 +0200
  Re: Istruzioni SQL con VB6 e MDB con DAO "Freccia (VegetaSSj)" <NIENTESPAMfreccia_vegetassj@hotmail.invalid> - 2020-10-02 21:57 +0200
    Re: Istruzioni SQL con VB6 e MDB con DAO "Sauro" <vicchi@crsscala.it> - 2020-10-03 09:22 +0200

csiph-web