首頁  >  問答  >  主體

mysql优化 - mysql KEY是什么键?有什么作用?

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),

PHPzPHPz2743 天前667

全部回覆(3)我來回復

  • 阿神

    阿神2017-04-17 15:00:50

    key是為表添加索引,索引的作用是增加資料庫的查詢速度。 MySQL的資料庫引擎是InnoDB,它採用B+樹和雜湊兩種資料結構的方式為表格添加索引。
    EXPLAIN SELECT * FROM idc_work_order_main WHERE id = '100' 再用explain查看目前的SQL語句是否使用了索引,是如何使用的索引。

    回覆
    0
  • 高洛峰

    高洛峰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區別

    mysql中key 、primary key 、unique key 與index區別<🎜>mysql中key 、primary key 、unique key 與

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:00:50

    索引,增加查詢速度

    回覆
    0
  • 取消回覆