ResultSet getIndexInfo(String catalog,String schema,String table,Boolean unique,Boolean approximate) throws SQLException
获取数据库的索引信息
- Catalog:表示一个目录名
- Schema:表示模式名
- Table:表示一个表名
- Unique:如果为true,则返回所有单独的键值的索引,如果为false,则返回所有的键值的索引而不管这个列的值是否唯一。
- Approximate:如果为true,则允许返回估计值,如果为false,则必须返回精确值。
函数返回一个ResultSet对象,每一行都是一个索引的描述,一个索引包含如下的属性:
- TABLE_CAT:表的目录名,可以为null
- TABLE_SCHEMA:表的模式名,可以为null
- TABLE_NAME:表名
- NON_UNIQUE:如果为真则说明索引值不唯一,为假则说明索引值必须唯一。
- INDEX_QUALIFIER:表示索引目录,可以为null
- INDEX_NAME:不为空则代表索引名。
-
TYPE:指出索引类型,可以为以下值:
- TableIndexStatic:指出是否与索引信息一同返回的表的统计数据
- TableIndexClustered:指出该索引是集簇索引
- TableIndexHashed:指出该索引是哈希索引
- TableIndexOther:指出该索引是其他类型的索引
- ORDINAL_POSITION:指出索引中列的序号,当TYPE是tableIndexStatistic时为0。
- COLUMN_NAME:指出索引的列名,当TYPE是tableIndexStatistic时为null。
- ASC_OR_DESC:为a或d。当为a的时候,说明索引是按照升序排列的;当为d的时候,说明索引是按照降序排列的;当为null时,说明不支持按一定顺序排序,或者TYPE的值是tableIndexStatistic。
- CARDINALITY:指出在索引中值是唯一的列的个数,当TYPE是tableIndexStatistic时,这个值是表中的行数。
- PAGES:当前索引所使用的页数,当TYPE是tableIndexStatic时,这个值表明该表使用的页数。
- FILTER_CONDITION:过滤条件,可以为null。