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
key是為表添加索引,索引的作用是增加資料庫的查詢速度。 MySQL的資料庫引擎是InnoDB,它採用B+樹和雜湊兩種資料結構的方式為表格添加索引。
EXPLAIN SELECT * FROM idc_work_order_main WHERE id = '100' 再用explain查看目前的SQL語句是否使用了索引,是如何使用的索引。
高洛峰2017-04-17 15:00:50
Key是索引約束,對資料表中欄位進行約束索引的
key的用途:主要是用來加快查詢速度的
這裡的語句:
KEY user_id (user_id),
KEY topic_id (topic_id),
KEY forum_id (forum_id),
是指為user_id,topic_id,forum_id三個欄位建立索引
mysql中key 、primary key 、unique key 與在index區別