집 >데이터 베이스 >MySQL 튜토리얼 >mysql 인덱스의 쿼리문은 무엇입니까?
mysql 인덱스의 쿼리 문은 "SHOW INDEX"이며, 이는 현재 데이터베이스 또는 지정된 데이터베이스의 테이블과 관련된 인덱스 정보를 반환할 수 있습니다. 전체 구문은 "SHOW INDEX FROM 테이블 이름 [FROM 데이터베이스 이름];"입니다. ; 여기서, "FROM 데이터베이스 이름" 옵션은 생략할 경우 현재 데이터베이스의 테이블과 관련된 인덱스 정보를 반환한다. 생략하지 않으면 지정된 데이터베이스의 테이블에 대한 인덱스 정보가 반환된다. 돌아왔다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
인덱스 생성이 완료된 후 SQL 문을 사용하여 기존 인덱스를 볼 수 있습니다. MySQL에서는 SHOW INDEX 문을 사용하여 테이블에 생성된 인덱스를 볼 수 있습니다.
MySQL SHOW INDEX 문
SHOW INDEX 문은 현재 데이터베이스 또는 지정된 데이터베이스의 테이블과 관련된 인덱스 정보를 반환할 수 있습니다.
인덱스를 보기 위한 구문 형식은 다음과 같습니다.
SHOW INDEX FROM 表名 [ FROM 数据库名];
구문 설명은 다음과 같습니다.
테이블 이름: 인덱스를 보려는 데이터 테이블의 이름을 지정합니다.
데이터베이스 이름: 인덱스를 보려는 데이터 테이블이 있는 데이터베이스를 지정하며, 생략 가능합니다. 예를 들어 SHOW INDEX FROM student FROM test;
문은 테스트 데이터베이스에 있는 학생 데이터 테이블의 인덱스를 보는 것을 의미합니다.
아무 데이터베이스에도 연결되어 있지 않거나 다른 데이터베이스에 있는 테이블의 인덱스 정보를 가져오려는 경우 데이터베이스 이름을 지정할 수 있습니다.
SHOW INDEXES는 다음 정보를 반환합니다.
매개변수 | 설명 |
---|---|
테이블 | 인덱스가 생성된 데이터 테이블의 이름을 나타내며, 여기서는 tb_stu_info2 데이터 테이블이다. |
고유하지 않음 | 인덱스가 고유 인덱스인지 여부를 나타냅니다. 고유 인덱스가 아닌 경우 이 열의 값은 1이고, 고유 인덱스인 경우 이 열의 값은 0입니다. |
Key_name | 인덱스의 이름을 나타냅니다. |
Seq_in_index | 인덱스에서 열의 위치를 나타냅니다. 인덱스가 단일 열인 경우 이 열의 값은 1입니다. 인덱스가 결합된 인덱스인 경우 이 열의 값은 인덱스 정의에 있는 각 열의 순서입니다. |
Column_name | 인덱스를 정의하는 열 필드를 나타냅니다. |
대조 | 인덱스에 열이 저장되는 순서를 나타냅니다. MySQL에서 오름차순은 "A"(오름차순) 값으로 표시되며, NULL로 표시되면 분류가 없음을 의미합니다. |
카디널리티 | 인덱스의 고유 값 수에 대한 추정치입니다. 카디널리티는 정수로 저장된 통계에 대해 계산되므로 작은 테이블의 경우에도 값이 정확할 필요는 없습니다. 카디널리티가 클수록 MySQL이 조인을 수행할 때 인덱스를 사용할 가능성이 커집니다. |
Sub_part | 열의 인덱스 문자 수를 나타냅니다. 열이 부분적으로만 인덱싱된 경우 열 값은 인덱싱된 문자 수입니다. 전체 열이 인덱싱된 경우 열 값은 NULL입니다. |
포장됨 | 키워드가 압축되는 방식을 나타냅니다. 압축되지 않은 경우 값은 NULL입니다. |
Null | 인덱스 열에 NULL이 포함되어 있는지 여부를 표시하는 데 사용됩니다. 열에 NULL이 포함되어 있으면 해당 열의 값은 YES입니다. 그렇지 않은 경우 이 열의 값은 NO입니다. |
Index_type | 인덱스(BTREE, FULLTEXT, HASH, RTREE)가 사용하는 유형과 방법을 표시합니다. |
댓글 | 댓글을 표시합니다. |
过滤索引信息
要过滤索引信息,请使用以下WHERE
子句:
SHOW INDEXES FROM table_name WHERE condition;
MySQL的SHOW INDEXES例子
我们将创建一个新表名为contacts演示SHOW INDEXES命令:
CREATE TABLE contacts( contact_id int AUTO_INCREMENT, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL, email VARCHAR(100), phone VARCHAR(20), PRIMARY KEY(contact_id), UNIQUE(email), INDEX phone(phone), INDEX name(first_name,last_name) comment '按名字和姓氏' );
以下命令返回表中的所有索引信息contacts:
SHOW INDEXES FROM contacts;
【相关推荐:mysql视频教程】
위 내용은 mysql 인덱스의 쿼리문은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!