编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

JDBC获取数据库信息:获取索引信息

ResultSet getIndexInfo(String catalog,String schema,String table,Boolean unique,Boolean approximate) throws SQLException

获取数据库的索引信息

  1. Catalog:表示一个目录名
  2. Schema:表示模式名
  3. Table:表示一个表名
  4. Unique:如果为true,则返回所有单独的键值的索引,如果为false,则返回所有的键值的索引而不管这个列的值是否唯一。
  5. Approximate:如果为true,则允许返回估计值,如果为false,则必须返回精确值。

函数返回一个ResultSet对象,每一行都是一个索引的描述,一个索引包含如下的属性:

  1. TABLE_CAT:表的目录名,可以为null
  2. TABLE_SCHEMA:表的模式名,可以为null
  3. TABLE_NAME:表名
  4. NON_UNIQUE:如果为真则说明索引值不唯一,为假则说明索引值必须唯一。
  5. INDEX_QUALIFIER:表示索引目录,可以为null
  6. INDEX_NAME:不为空则代表索引名。
  7. TYPE:指出索引类型,可以为以下值:
    • TableIndexStatic:指出是否与索引信息一同返回的表的统计数据
    • TableIndexClustered:指出该索引是集簇索引
    • TableIndexHashed:指出该索引是哈希索引
    • TableIndexOther:指出该索引是其他类型的索引
  8. ORDINAL_POSITION:指出索引中列的序号,当TYPE是tableIndexStatistic时为0。
  9. COLUMN_NAME:指出索引的列名,当TYPE是tableIndexStatistic时为null。
  10. ASC_OR_DESC:为a或d。当为a的时候,说明索引是按照升序排列的;当为d的时候,说明索引是按照降序排列的;当为null时,说明不支持按一定顺序排序,或者TYPE的值是tableIndexStatistic。
  11. CARDINALITY:指出在索引中值是唯一的列的个数,当TYPE是tableIndexStatistic时,这个值是表中的行数。
  12. PAGES:当前索引所使用的页数,当TYPE是tableIndexStatic时,这个值表明该表使用的页数。
  13. FILTER_CONDITION:过滤条件,可以为null。
未经允许不得转载: 技术文章 » Java编程 » JDBC获取数据库信息:获取索引信息