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
),
阿神2017-04-17 15:00:50
핵심은 테이블에 인덱스를 추가하는 것입니다. 인덱스의 기능은 데이터베이스의 쿼리 속도를 높이는 것입니다. MySQL의 데이터베이스 엔진은 B 트리와 해시라는 두 가지 데이터 구조를 사용하여 테이블에 인덱스를 추가하는 InnoDB입니다.
EXPLAIN SELECT * FROM idc_work_order_main WHERE id = '100' 그런 다음 explain을 사용하여 현재 SQL 문에서 인덱스를 사용하는지 여부와 인덱스 사용 방법을 확인합니다.
高洛峰2017-04-17 15:00:50
키는 테이블의 필드에 대한 인덱스를 제한하는 인덱스 제약 조건입니다.
키의 목적은 주로 쿼리 속도를 높이는 것입니다.
여기의 명령문은
KEY user_id(user_id)입니다. ,
KEY topic_id(topic_id),
KEY forum_id (forum_id),
는 user_id, topic_id, forum_id 세 필드에 대한 인덱스를 생성하는 것을 의미합니다
mysql의 키, 기본 키, 고유 키 및 인덱스의 차이점