Identificativo articolo: 209126 - Ultima modifica: martedì 8 aprile 2003 - Revisione: 1.0 ACCESS 2000: Ottimizzazione delle query in Microsoft Access 2000
Questo articolo è stato precedentemente pubblicato con il codice di riferimento I209126 In questa paginaSommario
Difficoltà media: sono richieste conoscenze di base di creazione di macro, gestione di codice e di interoperabilità.
In questo articolo viene illustrato come ottimizzare le prestazioni delle query in Microsoft Access 2000. Gli argomenti trattati riguardano il Query Optimizer del modulo di gestione di database Microsoft Jet, la determinazione dei tempi delle query, l'analisi delle prestazioni e alcuni suggerimenti di progettazione su come migliorare le prestazioni delle query. In questo articolo si presuppone che il database contenga delle tabelle locali anziché tabelle collegate. Se le tabelle sono collegate, le informazioni contenute in questo articolo restano comunque valide, sebbene subentrino ulteriori aspetti che possono influire sulle prestazioni delle query in tabelle collegate. Per ulteriori informazioni sull'ottimizzazione delle prestazioni in tabelle collegate, nella Microsoft Knowledge Base eseguire una ricerca della seguente stringa:
odbc and optimizing and tables
InformazioniQuery OptimizerIl modulo di gestione di database Microsoft Jet contiene numerosi componenti, ma quello più importante per le query, oltre che il più complesso, è Query Optimizer. Si tratta di un'utilità di ottimizzazione basata sul costo che assegna pertanto a ciascuna attività di query un costo in termini di tempo scegliendo alla fine l'elenco delle attività meno dispendioso da eseguire per generare l'insieme di risultati richiesti. Più tempo è richiesto per l'esecuzione di un'attività, più costosa o dispendiosa è considerata tale attività.Per decidere quale strategia di query utilizzare, Query Optimizer utilizza delle statistiche basate sul numero di record e di pagine di dati presenti in una tabella, sull'ubicazione della tabella, sulla presenza o meno di indici, sulla loro univocità e così via. Sulla base di queste statistiche viene quindi scelta la strategia di query interna migliore per svolgere una particolare query. Le statistiche vengono aggiornate ogni volta che si compila una query. Una query viene contrassegnata per la compilazione ogni volta che si salvano delle modifiche alla query o alle tabelle sottostanti e quando il database viene compattato. Se una query viene contrassegnata, la compilazione e l'aggiornamento delle statistiche verranno eseguiti in occasione della successiva esecuzione della query. La compilazione di una query richiede solitamente da uno a quattro secondi. Se viene aggiunto un numero significativo di record al database, si consiglia di aprire e salvare le query per ricompilarle. Ad esempio, se si progetta e si sottopone a verifica una query utilizzando un piccolo insieme di dati di esempio, si consiglia di ricompilare la query dopo aver aggiunto ulteriori record al database. In questo modo si garantiranno prestazioni ottimali della query quando l'applicazione è in uso. NOTA: non è possibile visualizzare gli schemi di ottimizzazione del modulo di gestione di database Jet né specificare le modalità di ottimizzazione di una query. Ciononostante è possibile utilizzare Database Documenter per scoprire se sono presenti indici nelle tabelle di database e se tali indici sono univoci. Per ulteriori informazioni su Database Documenter, fare clic sul numero dell'articolo della Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese): 207782
(http://support.microsoft.com/kb/207782/
)
ACC2000: Error Using Database Documenter If Objects Are Open
Determinazione dei tempi delle queryEsistono due grandezze di tempo significative per una query di selezione: il tempo richiesto per visualizzare il primo schermo di dati e il tempo richiesto per ottenere l'ultimo record. Se una query restituisce un solo schermo di dati, questi due valori coincideranno, mentre se una query restituisce molti record, questi due valori potranno differire.Se questi due valori coincidono quando si visualizza una query di selezione in visualizzazione Foglio dati, si vedrà uno schermo di dati e un numero totale di record restituiti dalla query, ad esempio "Record 1 di N ". Se il modulo di gestione di database Jet impiega meno tempo per visualizzare il primo schermo di dati di quanto non impieghi a completare la query e a recuperare l'ultimo record, verrà visualizzato lo schermo di dati ma nessun valore N nella stringa "Record 1 di N ". Il valore N rimarrà vuoto finché la query non sarà stata completata o non sarà stato recuperato l'ultimo record. Questo comportamento dipende dal fatto che il modulo di gestione di database Jet sceglie una delle due strategie di prestazioni: completare la query e quindi visualizzare i dati oppure visualizzare i dati e quindi completare la query. Non è possibile scegliere quale strategia utilizzare, in quanto il modulo di gestione di database Jet selezionerà sempre la più efficiente. Analisi delle prestazioniSe si utilizza Microsoft Access 7.0, Access 97 o Access 2000 sarà possibile utilizzare l'Analizzatore prestazioni per analizzare le query nel database. L'analisi delle prestazioni delle query è strettamente legata al modulo di gestione di database Jet, per questa ragione l'Analizzatore prestazioni suggerisce di aggiungere degli indici solo qualora gli indici vengano effettivamente utilizzati dal modulo di gestione di database Jet per ottimizzare la query. Questo significa che l'Analizzatore prestazioni è in grado di fornire suggerimenti di prestazioni più specifici per il database rispetto ai suggerimenti generali riportati di seguito nella sezione "Suggerimenti per migliorare le prestazioni delle query" di questo articolo.Per eseguire l'Analizzatore prestazioni in Microsoft Access 7.0, Microsoft Access 97 o Microsoft Access 2000, scegliere Analizza dal menu Strumenti, quindi Prestazioni. Suggerimenti per migliorare le prestazioni delle queryPer migliorare le prestazioni delle query, seguire i seguenti suggerimenti:
Riferimenti
Per ulteriori informazioni sull'ottimizzazione delle prestazioni Microsoft Access 2000, scegliere Guida in linea di Microsoft Access dal
menu ?, digitare ottimizzazione delle prestazioni nella casella dell'Assistente di Office o della Ricerca libera, quindi scegliere il pulsante Cerca per visualizzare l'argomento. Per ulteriori informazioni sull'utilizzo degli indici, fare clic sul numero dell'articolo della Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese): 209564
(http://support.microsoft.com/kb/209564/
)
ACC2000: Compound Indexes Must Restrict First Indexed Field
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO. | Altre risorse Altri siti di supporto
CommunityRichiedi assistenzaTraduzione articoli
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Torna all'inizio
