Condividi tramite


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