📜  如何查看哪些列被索引了mysql(1)

📅  最后修改于: 2023-12-03 15:09:10.920000             🧑  作者: Mango

如何查看哪些列被索引了mysql

在 MySQL 中,通过索引可以提高查询的速度。但是,如果使用不当,也有可能影响性能。因此,了解哪些列被索引了是非常重要的。

以下是一些方法可以用来查看哪些列被索引了。

方法一:使用 SHOW INDEX 命令
SHOW INDEX FROM table_name;

其中,table_name 是你想要查看索引的表名。

这个命令将返回一个结果集,其中包含了你所查询的表的索引信息。你可以通过查看 Key_name 来确认哪些列被索引了。

方法二:使用 INFORMATION_SCHEMA 数据库
SELECT DISTINCT INDEX_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_NAME = 'table_name'
AND INDEX_NAME != 'PRIMARY';

同样,table_name 是你想要查询的表名。

这个命令将返回一个结果集,其中包含表的所有索引列。如果列有多个索引,则会出现多行。

方法三:使用 DESCRIBE 命令
DESCRIBE table_name;

这个命令将返回表的结构,其中包含了每一列的属性。如果该列被索引,则在 Key 列会显示 MUL(表示该列是一个多重索引的一部分)或 PRI(表示主键索引)。

方法四:使用 SHOW CREATE TABLE 命令
SHOW CREATE TABLE table_name;

这个命令将返回一个 CREATE TABLE 语句。如果该表有索引,那么在语句中会显示 KEYPRIMARY KEY。你可以通过查看这个语句来确认哪些列被索引了。

总结 以上四种方法都可以用来查看哪些列被索引了。推荐使用第一种和第二种方法,因为它们可以直接查询出索引信息。第三种方法可以用来检查表的结构。第四种方法则是一种备选方案。