SQL 列举索引列,你想列出某个表的索引,包括构成索引的各列及其位置序号(如果有的话)。
SQL 列举索引列 问题描述
你想列出某个表的索引,包括构成索引的各列及其位置序号(如果有的话)。
SQL 列举索引列 解决方案
下面的解决方案因数据库的不同而有所差异,但都假设你希望列出 SMEAGOL 模式中的 EMP
表的索引信息。
DB2
查询 SYSCAT.INDEXES
。
Oracle
查询 SYS.ALL_IND_COLUMNS
。
PostgreSQL
查询 PG_CATALOG.PG_INDEXES
和 INFORMATION_SCHEMA.COLUMNS
。
MySQL
使用 SHOW INDEX
命令。
SQL Server
查询 SYS.TABLES
、SYS.INDEXES
、SYS.INDEX_COLUMNS
和 SYS.COLUMNS
。
SQL 列举索引列 扩展知识
说到查询,很重要的一点是要知道哪些列有索引。为那些经常被用来过滤数据并且相当有区分度的列添加索引,有利于提升查询的效果。索引对表之间的连接查询也非常有帮助。了解哪些列被加入了索引,能够有效地避免潜在的性能问题。此外,你可能希望查找关于索引自身的一些信息:遍历深度有多少级,有多少个不同的键,有多少个叶节点,等等。可以通过本实例中的解决方案所查询的视图和表来获取这类信息。