getIndexInfo-Methode (SQLServerDatabaseMetaData)
Ruft eine Beschreibung der Indizes und der Statistik für die angegebene Tabelle ab.
Syntax
public java.sql.ResultSet getIndexInfo(java.lang.String cat,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
Parameter
cat
Ein String-Objekt, das den Katalognamen enthält.
schema
Ein String-Objekt, das den Schemanamen enthält.
Tabelle
Ein String-Objekt, das den Tabellennamen enthält.
unique
TRUE, falls nur Indizes für eindeutige Werte zurückgegeben werden. FALSE, falls alle Indizes zurückgegeben werden.
approximate
TRUE, falls die Ergebnisse ungefähre oder veraltete Werte widerspiegeln. FALSE, falls die Ergebnisse korrekt sind.
Rückgabewert
Ein SQLServerResultSet-Objekt.
Ausnahmen
Bemerkungen
Diese getIndexInfo-Methode wird von der getIndexInfo-Methode in der java.sql.DatabaseMetaData-Schnittstelle angegeben.
Das von der getIndexInfo-Methode zurückgegebene Resultset enthält folgende Informationen:
Name | Typ | BESCHREIBUNG |
---|---|---|
TABLE_CAT | String | Der Name der Datenbank, in der sich die angegebene Tabelle befindet. |
TABLE_SCHEM | String | Das Schema der Tabelle. |
table_name | String | Der Name der Tabelle. |
NON_UNIQUE | boolean | Gibt an, ob die Indexwerte nicht eindeutig sein können. |
INDEX_QUALIFIER | String | Der Name des Indexbesitzers. Wenn für TYPE das tableIndexStatistic-Objekt eingetragen wird, entspricht er NULL. |
INDEX_NAME | String | Der Name des Index. |
TYPE | short | Der Typ des Indexes. Es kann sich um einen der folgenden Werte handeln: tableIndexStatistic (0) tableIndexClustered (1) tableIndexHashed (2) tableIndexOther (3) |
ORDINAL_POSITION | short | Die Ordinalposition der Spalte innerhalb des Indexes. Die erste Spalte im Index hat den Wert 1. |
COLUMN_NAME | String | Der Name der Spalte. |
ASC_OR_DESC | String | Der in der Indexsortierung verwendete Befehl. Es kann sich um einen der folgenden Werte handeln: A (aufsteigend) D (absteigend) NULL (nicht anwendbar) Hinweis: SQL Server gibt immer „A“ zurück. |
CARDINALITY | int | Die Anzahl der Zeilen in der Tabelle oder der eindeutigen Werte im Index |
PAGES | int | Die Anzahl der Seiten, die zum Speichern des Indexes oder der Tabelle verwendet werden. |
FILTER_CONDITION | String | Die Filter-Bedingung. Hinweis: SQL Server gibt immer NULL zurück. |
Hinweis
Weitere Informationen zu den Daten, die von der getIndexInfo-Methode zurückgegeben werden, finden Sie in der SQL Server-Onlinedokumentation unter „sp_indexes (Transact-SQL)“.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie mithilfe der getIndexInfo-Methode Informationen über die Indizes und Statistiken der Tabelle „Person.Contact“ aus der AdventureWorks2022-Beispieldatenbank zurückgegeben werden können.
public static void executeGetIndexInfo(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getIndexInfo("AdventureWorks", "Person", "Contact", false, true);
ResultSetMetaData rsmd = rs.getMetaData();
// Display the result set data.
int cols = rsmd.getColumnCount();
while(rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(rs.getString(i));
}
}
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Weitere Informationen
SQLServerDatabaseMetaData-Methoden
SQLServerDatabaseMetaData-Elemente
SQLServerDatabaseMetaData-Klasse