Función JetComputeStats
Se aplica a: Windows | Windows Server
Función JetComputeStats
La función JetComputeStats recorre cada índice de una tabla para calcular exactamente el número de entradas de un índice y el número de claves distintas de un índice. Esta información, junto con el número de páginas de base de datos asignadas para un índice y la hora actual del cálculo se almacena en los metadatos de índice de la base de datos. Estos datos se pueden recuperar posteriormente con operaciones de información.
JET_ERR JET_API JetComputeStats(
__in JET_SESID sesid,
__in JET_TABLEID tableid
);
Parámetros
sesid
La sesión que se va a usar para esta llamada.
tableid
Cursor que se usará para esta llamada. Describe la tabla en la que se calculan las estadísticas.
Valor devuelto
Esta función devuelve el JET_ERR tipo de datos con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.
Código devuelto |
Descripción |
---|---|
JET_errSuccess |
La operación se ha completado correctamente. |
JET_errClientRequestToStopJetService |
No es posible completar la operación porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService. |
JET_errInstanceUnavailable |
No es posible completar la operación porque la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos. Este error solo lo devolverá Windows XP y versiones posteriores. |
JET_errNotInitialized |
No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado. |
JET_errRestoreInProgress |
No es posible completar la operación porque una operación de restauración está en curso en la instancia asociada a la sesión. |
JET_errRollbackError |
Se ha producido un error que requiere que esta operación reversión de todos los cambios, pero se produjo un error en la reversión de la transacción. |
JET_errSessionSharingViolation |
No se puede usar la misma sesión para más de un subproceso al mismo tiempo. Este error solo lo devolverá Windows XP y versiones posteriores. |
JET_errTermInProgress |
No es posible completar la operación porque la instancia asociada a la sesión se está cerrando. |
Si se ejecuta correctamente, las estadísticas actualizadas se almacenan en los catálogos de bases de datos de la tabla descrita con el cursor especificado.
Si se produce un error, no se realizan actualizaciones de ningún tipo en la base de datos.
Comentarios
Esta operación puede ser un recurso que consume, ya que cada índice de una tabla debe recorrerse en su totalidad. JetGetRecordPosition se puede usar para obtener una estimación aproximada del número de entradas de un índice, pero no puede calcular por sí mismo el número de valores distintos de un índice.
Los datos calculados por esta operación comienzan a quedar obsoletos y la tabla se actualiza posteriormente.
Novedades a la base de datos realizada por JetComputeStats se realizan de forma diferida. Esto significa que ningún vaciado de registro irá acompañado de esta operación y un bloqueo del sistema posterior a una devolución de JET_errSuccess por JetComputeStats todavía puede hacer que se pierdan estas actualizaciones.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Consulte también
JET_ERR
JET_TABLEID
JET_SESID
JetGetRecordPosition
JetGetTableInfo
JetGetTableIndexInfo
JetStopService