SQL - 顯示索引



SQL SHOW INDEX 語句

SHOW INDEX 是檢索已在表上定義的索引資訊的基本的 SQL 語句。但是,SHOW INDEX 語句僅適用於 MySQL RDBMS,在 SQL Server 中無效。

要在 SQL Server 中列出在表上建立的索引,可以使用系統儲存過程 sp_helpindex

從 MySQL 表上查詢 SHOW INDEX 語句獲得的結果集包含索引資訊。

語法

以下是 MySQL 中SHOW INDEX 語句的語法:

SHOW INDEX FROM table_name;

示例

以下示例演示了 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;

輸出

執行上述查詢後,輸出如下所示:

Non_unique Key_name Seq_in_index Column_name
customers 0 PRIMARY 1 ID
customers 1 index_name 1 NAME

在 SQL Server 中顯示索引

在 SQL Server 中,系統儲存過程 sp_helpindex 用於檢索已在表上定義的索引資訊。它將結果作為包含有關每個索引的詳細資訊(包括名稱、型別和列)的表返回。

語法

以下是列出在 SQL Server 表上定義的索引的基本語法:

sp_helpindex [ @objname = ] 'name'

這裡,[@objname =] 'name' 指定要檢索其索引資訊的表的名稱。索引資訊包括:

  • index_name 是包含在索引中的列的名稱。
  • index_description 是索引的簡要描述,例如索引的型別(例如聚簇或非聚簇)。
  • index_keys 是包含在索引中的鍵。

示例

CREATE INDEX INDEX_NAME on CUSTOMERS(NAME);

現在,讓我們使用系統儲存過程 sp_helpindex 列出在 CUSTOMERS 表上建立的所有索引,如下所示:

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

輸出

執行上述查詢後,輸出如下所示:

index_name index_description index_keys
INDEX_NAME

位於 PRIMARY 上的非聚簇索引

NAME
PK__CUSTOMER__ 3214EC27755869D9

位於 PRIMARY 上的聚簇、唯一、主鍵

ID
廣告