getIndexInfo 메서드(SQLServerDatabaseMetaData)

JDBC 드라이버 다운로드

지정된 테이블의 인덱스 및 통계에 대한 설명을 검색합니다.

구문

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

매개 변수

cat

카탈로그 이름이 포함하는 문자열입니다.

schema

스키마 이름을 포함하는 문자열입니다.

table

테이블 이름이 들어 있는 문자열입니다.

unique

고유한 값의 인덱스만 반환되면 true입니다. 모든 인덱스가 반환되면 false입니다.

approximate

결과가 대략적인 값이나 오래된 값을 반영하면 true입니다. 결과가 정확하면 false입니다.

Return Value

SQLServerResultSet 개체입니다.

예외

SQLServerException

설명

이 getIndexInfo 메서드는 java.sql.DatabaseMetaData 인터페이스의 getIndexInfo 메서드에 의해 지정됩니다.

getIndexInfo 메서드에서 반환되는 결과 집합에는 다음 정보가 포함됩니다.

Name Type 설명
TABLE_CAT String 지정된 테이블이 있는 데이터베이스의 이름입니다.
TABLE_SCHEM String 테이블의 스키마입니다.
TABLE_NAME String 테이블의 이름입니다.
NON_UNIQUE boolean 인덱스 값이 고유하지 않을 수 있는지 여부를 나타냅니다.
INDEX_QUALIFIER String 인덱스 소유자의 이름입니다. TYPE이 tableIndexStatistic이면 이 값은 null이 됩니다.
INDEX_NAME String 인덱스의 이름입니다.
TYPE 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 메서드에서 반환되는 데이터에 대한 자세한 내용은 SQL Server 온라인 설명서의 “sp_indexes(Transact-SQL)”를 참조하세요.

예제

다음 예제에서는 getIndexInfo 메서드를 사용하여 AdventureWorks2019 샘플 데이터베이스에 있는 Person.Contact 테이블의 인덱스 및 통계에 대한 정보를 반환하는 방법을 보여 줍니다.

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 클래스