Freigeben über


getIndexInfo-Methode (SQLServerDatabaseMetaData)

JDBC-Treiber herunterladen

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

SQLServerException

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