Recupera una descripción de los índices y estadísticas de la tabla determinada.

Sintaxis

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

Parámetros

cat

Un String que contiene el nombre del catálogo.

schema

Un String que contiene el nombre del esquema.

table

Un String que contiene el nombre de la tabla.

unique

Es true si solo se devuelven índices para valores únicos. Es false si se devuelven todos los índices.

approximate

Es true si los resultados reflejan valores aproximados o no actualizados. Es false si los resultados son precisos.

Valor devuelto

Excepciones

Comentarios

El método getIndexInfo especifica este método getIndexInfo en la interfaz java.sql.DatabaseMetaData.

El conjunto de resultados devuelto por el método getIndexInfo contendrá la siguiente información:

Nombre

Tipo

Descripción

TABLE_CAT

String

Nombre de la base de datos en que reside la tabla especificada.

TABLE_SCHEM

String

Esquema de la tabla.

TABLE_NAME

String

Nombre de la tabla.

NON_UNIQUE

boolean

Indica si los valores de índice pueden ser no únicos.

INDEX_QUALIFIER

String

Nombre del propietario del índice. Se devolverá un valor NULL cuando TYPE sea tableIndexStatistic.

INDEX_NAME

String

Nombre del índice.

TYPE

short

Tipo del índice. Puede ser uno de los siguientes valores:

tableIndexStatistic (0)

tableIndexClustered (1)

tableIndexHashed (2)

tableIndexOther (3)

ORDINAL_POSITION

short

Posición ordinal de la columna en el índice. La primera columna del índice es 1.

COLUMN_NAME

String

Nombre de columna.

ASC_OR_DESC

String

Orden utilizado en la intercalación del índice: Puede ser uno de los siguientes valores:

A (ascendente)

D (descendente)

NULL (no aplicable)

SQL Server siempre devuelve "A".

CARDINALITY

int

Número de filas de la tabla o de valores únicos del índice.

PAGES

int

Número de páginas para el almacenamiento del índice o tabla.

FILTER_CONDITION

String

Condición del filtro.

SQL Server siempre devuelve NULL.

Para obtener más información sobre los datos que devuelve el método getIndexInfo, vea "sp_indexes (Transact-SQL)" en los Libros en pantalla de SQL Server.

Ejemplo

En el siguiente ejemplo se muestra cómo utilizar el método getIndexInfo para devolver información sobre los índices y estadísticas de la tabla Person.Contact en la base de datos de ejemplo SQL Server 2005AdventureWorks.

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

Vea también