Funzione JetSetTableSequential
Si applica a: Windows | Windows Server
Funzione JetSetTableSequential
La funzione JetSetTableSequential notifica al motore di database che l'applicazione sta analizzando l'intero indice corrente contenente un cursore specificato. Di conseguenza, i metodi usati per accedere ai dati dell'indice verranno ottimizzati per rendere questo scenario il più veloce possibile.
Windows XP:JetSetTableSequential è stato introdotto in Windows XP.
JET_ERR JET_API JetSetTableSequential(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_GRBIT grbit
);
Parametri
sesid
Sessione da utilizzare per questa chiamata.
tableid
Cursore da utilizzare per questa chiamata.
grbit
Gruppo di bit che specificano zero o più delle opzioni seguenti.
Valore |
Significato |
---|---|
JET_bitPrereadForward |
Questa opzione viene utilizzata per indicizzare nella direzione in avanti. Windows 7:JET_bitPrereadForward è stato introdotto in Windows 7. |
JET_bitPrereadBackward |
Questa opzione viene utilizzata per indicizzare nella direzione indietro. Windows 7:JET_bitPrereadBackward è stato introdotto in Windows 7. |
Valore restituito
Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sui possibili errori ESE, vedere Errori del motore di archiviazione estendibile e parametri di gestione degli errori.
Codice restituito |
Descrizione |
---|---|
JET_errClientRequestToStopJetService |
Impossibile completare l'operazione perché tutte le attività nell'istanza associata alla sessione sono state disattivate in seguito a una chiamata a JetStopService. |
JET_errInstanceUnavailable |
Impossibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede la revoca dell'accesso a tutti i dati per proteggere l'integrità dei dati. Windows XP: Questo valore restituito viene introdotto in Windows XP. |
JET_errNotInitialized |
Impossibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata. |
JET_errRestoreInProgress |
Impossibile completare l'operazione perché è in corso un'operazione di ripristino nell'istanza associata alla sessione. |
JET_errTermInProgress |
Impossibile completare l'operazione perché l'istanza associata alla sessione viene arrestata. |
Se questa funzione ha esito positivo, l'indice corrente del cursore viene ottimizzato per un'analisi sequenziale dell'intero indice. Non verrà apportata alcuna modifica allo stato del database.
Se questa funzione non riesce, non verrà apportata alcuna modifica alla configurazione del cursore. Non verrà apportata alcuna modifica allo stato del database.
Commenti
Se l'applicazione deve analizzare in modo efficiente un subset noto di un indice, viene eseguita anche un'ottimizzazione simile ogni volta che viene stabilito un intervallo di indici tramite JetSetIndexRange. Questa ottimizzazione è disponibile solo in Windows XP e versioni successive.
Se l'applicazione deve analizzare in modo efficiente un sottoinsieme sconosciuto di un indice, non deve essere eseguita alcuna azione. Il motore può rilevare automaticamente il comportamento di analisi e recupererà i dati in anticipo. Questo comportamento non è tuttavia così aggressivo.
Questa ottimizzazione renderà efficiente l'analisi dell'indice primario e renderà efficiente l'analisi solo dei dati di immissione dell'indice in un indice secondario. Non renderà efficiente l'analisi di un indice secondario durante il recupero dei dati dei record. Ciò è dovuto al fatto che il motore non esegue un'operazione read-ahead sui dati del record.
Requisiti
Requisito | Valore |
---|---|
Client |
Richiede Windows Vista o Windows XP. |
Server |
Richiede Windows Server 2008 o Windows Server 2003. |
Intestazione |
Dichiarato in Esent.h. |
Libreria |
Usare ESENT.lib. |
DLL |
Richiede ESENT.dll. |
Vedere anche
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetSetIndexRange
JetStopService