Sql 简明教程

SQL - Show Indexes

The SQL Show Index Statement

SHOW INDEX 是用于检索有关表上定义的索引信息的基本 SQL 语句。但是,SHOW INDEX 语句只适用于 MySQL RDBMS,在 SQL Server 中不是有效语句。

从对 MySQL 表上的 SHOW INDEX 语句查询获得的结果集包含索引信息。

Syntax

以下是 MySQL 中 SHOW INDEX 语句的语法 −

SHOW INDEX FROM table_name;

Example

以下示例演示了 MySQL 中 SHOW INDEX 语句的工作原理。首先,使用下面的 CREATE 查询在 MySQL 数据库中创建一个名为 CUSTOMERS 的表:

CREATE TABLE CUSTOMERS (
   ID INT NOT NULL,
   NAME VARCHAR (20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (20, 2),
   PRIMARY KEY (ID)
 );

现在让我们使用以下查询向上面创建的表中插入一些值:

INSERT INTO CUSTOMERS VALUES
(1, 'Ramesh', '32', 'Ahmedabad', 2000),
(2, 'Khilan', '25', 'Delhi', 1500),
(3, 'Kaushik', '23', 'Kota', 2000),
(4, 'Chaitali', '25', 'Mumbai', 6500),
(5, 'Hardik','27', 'Bhopal', 8500),
(6, 'Komal', '22', 'Hyderabad', 9000),
(7, 'Muffy', '24', 'Indore', 5500);

插入数据后,使用以下查询为 CUSTOMERS 表中的 NAME 列创建索引:

CREATE INDEX INDEX_NAME ON CUSTOMERS(NAME);

现在,您可以使用以下查询列出在 CUSTOMERS 表上定义的所有索引:

SHOW INDEX FROM CUSTOMERS;

Output

执行以上查询后,输出显示如下 −

Table

Non_unique

Key_name

Seq_in_index

Column_name

customers

0

PRIMARY

1

ID

customers

1

index_name

1

NAME

Showing Indexes in SQL Server

在 SQL 服务器中,系统存储过程 sp_helpindex 用于检索有关在表上定义的索引的信息。它将结果作为包含有关每个索引的详细信息的表返回,包括名称、类型和列。

Syntax

以下是列出 SQL Server 中表上定义的索引的基本语法:

sp_helpindex [ @objname = ] 'name'

此处, [ @objname = ] 'name' 指定正在检索其索引信息的表的名称。索引信息包括:

  1. index_name 是索引中包含的列的名称。

  2. index_description 是索引的简要描述,例如索引类型(如聚集或非聚集)。

  3. index_keys 是索引中包含的键。

Example

CREATE INDEX INDEX_NAME on CUSTOMERS(NAME);

现在,让我们使用系统存储过程 sp_helpindex 列出在 CUSTOMERS 表上创建的所有索引,如下所示:

EXEC sys.sp_helpindex @objname = N'CUSTOMERS';

Output

执行以上查询后,输出显示如下 −

index_name

index_description

index_keys

INDEX_NAME

nonclustered located on PRIMARY

NAME

PK_CUSTOMER_ 3214EC27755869D9

clustered, unique, primary key located on PRIMARY

ID