Метод getIndexInfo (SQLServerDatabaseMetaData)
Возвращает описание индексов и статистику для заданной таблицы.
Синтаксис
public java.sql.ResultSet getIndexInfo(java.lang.String cat,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
Параметры
cat
Значение типа String, содержащее имя каталога.
schema
Значение типа String, содержащее имя схемы.
table
Значение типа String, содержащее имя таблицы.
unique
Значение true, если возвращаются только индексы для уникальных значений. Значение false, если возвращаются все индексы.
approximate
Значение true, если результаты отражают приблизительные или устаревшие значения. Значение false, если результаты являются точными.
Возвращаемое значение
Объект SQLServerResultSet.
Исключения
Замечания
Этот метод getIndexInfo определен с помощью метода getIndexInfo в интерфейсе java.sql.DatabaseMetaData.
Результирующий набор, возвращаемый методом getIndexInfo, включает следующие данные.
Имя. | Тип | Описание |
---|---|---|
TABLE_CAT | String | Имя базы данных, в которой расположена указанная таблица. |
TABLE_SCHEM | String | Схема таблицы. |
TABLE_NAME | String | Название таблицы. |
NON_UNIQUE | boolean | Указывает, могут ли значения индекса быть неуникальными. |
INDEX_QUALIFIER | String | Имя владельца индекса. Принимает значение NULL, если TYPE равен tableIndexStatistic. |
INDEX_NAME | String | Имя индекса. |
ТИП | short | Тип индекса. Может иметь одно из следующих значений. tableIndexStatistic (0) tableIndexClustered (1) tableIndexHashed (2) tableIndexOther (3) |
ORDINAL_POSITION | short | Порядковый номер столбца в индексе. Номер первого столбца в таблице равен 1. |
COLUMN_NAME | String | Имя столбца. |
ASC_OR_DESC | String | Порядок, используемый в параметрах сортировки индекса. Может иметь одно из следующих значений. A (по возрастанию) D (по убыванию) NULL (неприменимо) Примечание. SQL Server всегда возвращает "A". |
CARDINALITY | int | Число строк в таблице или уникальных значений в индексе. |
PAGES | int | Число страниц для хранения индекса или таблицы. |
FILTER_CONDITION | String | Условие фильтра. Примечание. SQL Server всегда возвращает NULL. |
Примечание.
Дополнительные сведения о данных, возвращаемых методом getIndexInfo, см. в разделе "sp_indexes (Transact-SQL)" электронной документации на SQL Server.
Пример
В следующем примере показано, как использовать метод getIndexInfo для возврата сведений об индексах и статистике таблицы Person.Contact в образце базы данных 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();
}
}
См. также
Методы SQLServerDatabaseMetaData
Элементы SQLServerDatabaseMetaData
Класс SQLServerDatabaseMetaData