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
Un objeto SQLServerResultSet.
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(); } }