1.表
CREATE TABLE jforum_posts
(post_id
int(11) NOT NULL AUTO_INCREMENT,topic_id
int(11) NOT NULL DEFAULT '0',forum_id
int(11) NOT NULL DEFAULT '0',user_id
int(11) NOT NULL DEFAULT '0',post_time
datetime DEFAULT NULL,poster_ip
varchar(15) DEFAULT NULL,enable_bbcode
tinyint(1) NOT NULL DEFAULT '1',enable_html
tinyint(1) NOT NULL DEFAULT '1',enable_smilies
tinyint(1) NOT NULL DEFAULT '1',enable_sig
tinyint(1) NOT NULL DEFAULT '1',post_edit_time
datetime DEFAULT NULL,post_edit_count
int(11) NOT NULL DEFAULT '0',status
tinyint(1) DEFAULT '1',attach
tinyint(1) DEFAULT '0',need_moderate
tinyint(1) DEFAULT '0',
PRIMARY KEY (post_id
),
KEY user_id
(user_id
),
KEY topic_id
(topic_id
),
KEY forum_id
(forum_id
),
KEY post_time
(post_time
),
KEY need_moderate
(need_moderate
)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8
2.问题
这里的KEY是什么键?是外键吗?如果不是外键,它有什么用?
KEY user_id
(user_id
),
KEY topic_id
(topic_id
),
KEY forum_id
(forum_id
),
핵심은 테이블에 인덱스를 추가하는 것입니다. 인덱스의 기능은 데이터베이스의 쿼리 속도를 높이는 것입니다. MySQL의 데이터베이스 엔진은 B 트리와 해시라는 두 가지 데이터 구조를 사용하여 테이블에 인덱스를 추가하는 InnoDB입니다.
EXPLAIN SELECT * FROM idc_work_order_main WHERE id = '100' 그런 다음 explain을 사용하여 현재 SQL 문에서 인덱스를 사용하는지 여부와 인덱스 사용 방법을 확인합니다.
키는 테이블의 필드에 대한 인덱스를 제한하는 인덱스 제약 조건입니다.
키의 목적은 주로 쿼리 속도를 높이는 것입니다.
여기의 명령문은
KEY user_id(user_id)입니다. ,
KEY topic_id(topic_id),
KEY forum_id (forum_id),
는 user_id, topic_id, forum_id 세 필드에 대한 인덱스를 생성하는 것을 의미합니다
mysql의 키, 기본 키, 고유 키 및 인덱스의 차이점
인덱스, 쿼리 속도 향상