JetComputeStats-Funktion
Gilt für: Windows | Windows Server
JetComputeStats-Funktion
Die JetComputeStats-Funktion führt jeden Index einer Tabelle durch, um die Anzahl der Einträge in einem Index und die Anzahl unterschiedlicher Schlüssel in einem Index genau zu berechnen. Diese Informationen werden zusammen mit der Anzahl der Datenbankseiten, die einem Index zugeordnet sind, und der aktuelle Zeitpunkt der Berechnung in Indexmetadaten in der Datenbank gespeichert. Diese Daten können anschließend mit Informationsvorgängen abgerufen werden.
JET_ERR JET_API JetComputeStats(
__in JET_SESID sesid,
__in JET_TABLEID tableid
);
Parameter
sesid
Die Sitzung, die für diesen Aufruf verwendet werden soll.
tableid
Der Cursor, der für diesen Aufruf verwendet wird. Beschreibt die Tabelle, für die Statistiken berechnet werden sollen.
Rückgabewert
Diese Funktion gibt den JET_ERR-Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errClientRequestToStopJetService |
Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Es ist nicht möglich, den Vorgang abzuschließen, da beim instance, der der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben. |
JET_errNotInitialized |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde. |
JET_errRestoreInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird. |
JET_errRollbackError |
Es ist ein Fehler aufgetreten, bei dem dieser Vorgang ein Rollback aller Änderungen erforderte, aber beim Transaktionsrollback selbst ist ein Fehler aufgetreten. |
JET_errSessionSharingViolation |
Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben. |
JET_errTermInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird. |
Bei Erfolg werden aktuelle Statistiken in den Datenbankkatalogen für die Mit dem angegebenen Cursor beschriebene Tabelle gespeichert.
Bei Einem Fehler werden keine Aktualisierungen jeglicher Art an der Datenbank vorgenommen.
Bemerkungen
Dieser Vorgang kann ressourcenintensiv sein, da jeder Index in einer Tabelle vollständig durchlaufen werden muss. JetGetRecordPosition kann verwendet werden, um eine grobe Schätzung der Anzahl von Einträgen in einem Index zu erhalten, aber es kann nicht allein die Anzahl unterschiedlicher Werte in einem Index schätzen.
Die durch diesen Vorgang berechneten Daten werden veraltet, und die Tabelle wird anschließend aktualisiert.
Updates der von JetComputeStats erstellten Datenbank werden auf faule Weise hergestellt. Dies bedeutet, dass dieser Vorgang keine Protokolllöschung begleitet, und ein Systemabsturz nach einer Rückgabe von JET_errSuccess von JetComputeStats kann weiterhin dazu führen, dass diese Updates verloren gehen.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |
Weitere Informationen
JET_ERR
JET_TABLEID
JET_SESID
JetGetRecordPosition
JetGetTableInfo
JetGetTableIndexInfo
JetStopService