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
),
key是为表添加索引,索引的作用是增加数据库的查询速度。MySQL的数据库引擎是InnoDB,它采用B+树和哈希两种数据结构的方式为表添加索引。
EXPLAIN SELECT * FROM idc_work_order_main WHERE id = ‘100’ 再用explain查看当前的SQL语句是否使用了索引,是如何使用的索引。
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区别
索引,增加查询速度