Metodo getIndexInfo (SQLServerDatabaseMetaData)

Scaricare il driver JDBC

Recupera una descrizione degli indici e delle statistiche per la tabella specificata.

Sintassi

  
public java.sql.ResultSet getIndexInfo(java.lang.String cat,  
                                       java.lang.String schema,  
                                       java.lang.String table,  
                                       boolean unique,  
                                       boolean approximate)  

Parametri

cat

Valore String contenente il nome del catalogo.

schema

Valore String contenente il nome dello schema.

tabella

Valore String contenente il nome della tabella.

unique

true se vengono restituiti solo gli indici per i valori univoci. false se vengono restituiti tutti gli indici.

approximate

true se i risultati riflettono valori approssimativi o non aggiornati. false se i risultati sono accurati.

Valore restituito

Oggetto SQLServerResultSet.

Eccezioni

SQLServerException

Osservazioni

Questo metodo getIndexInfo viene specificato dal metodo getIndexInfo nell'interfaccia java.sql.DatabaseMetaData.

Il set di risultati restituito dal metodo getIndexInfo conterrà le informazioni seguenti:

Nome Tipo Descrizione
TABLE_CAT Stringa Nome del database contenente la tabella specificata.
TABLE_SCHEM Stringa Schema della tabella.
TABLE_NAME Stringa Nome della tabella.
NON_UNIQUE boolean Indica se i valori di indice possono essere non univoci.
INDEX_QUALIFIER Stringa Nome del proprietario dell'indice. Sarà Null se TYPE è tableIndexStatistic.
INDEX_NAME Stringa Nome dell'indice.
TYPE short Tipo dell'indice. Può essere uno dei valori seguenti:

tableIndexStatistic (0)

tableIndexClustered (1)

tableIndexHashed (2)

tableIndexOther (3)
ORDINAL_POSITION short Posizione ordinale della colonna nell'indice. La prima colonna nell'indice è 1.
COLUMN_NAME Stringa Nome della colonna.
ASC_OR_DESC Stringa Ordine utilizzato nelle regole di confronto dell'indice. Può essere uno dei valori seguenti:

A (crescente)

D (decrescente)

NULL (non applicabile)

Nota: SQL Server restituisce sempre "A".
CARDINALITY int Numero di righe nella tabella o di valori univoci nell'indice.
PAGES int Numero di pagine utilizzate per l'archiviazione dell'indice o della tabella.
FILTER_CONDITION Stringa Condizione di filtro.

Nota: SQL Server restituisce sempre Null.

Nota

Per altre informazioni sui dati restituiti dal metodo getIndexInfo, vedere "sp_indexes (Transact-SQL)" nella documentazione online di SQL Server.

Esempio

Nell'esempio seguente viene illustrato come usare il metodo getIndexInfo per restituire informazioni sugli indici e sulle statistiche della tabella Person.Contact nel database di esempio AdventureWorks2022.

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();  
   }  
}  

Vedere anche

Metodi di SQLServerDatabaseMetaData
Membri di SQLServerDatabaseMetaData
Classe SQLServerDatabaseMetaData