찾다

 >  Q&A  >  본문

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

PHPzPHPz2897일 전771

모든 응답(3)나는 대답할 것이다

  • 阿神

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

    핵심은 테이블에 인덱스를 추가하는 것입니다. 인덱스의 기능은 데이터베이스의 쿼리 속도를 높이는 것입니다. MySQL의 데이터베이스 엔진은 B 트리와 해시라는 두 가지 데이터 구조를 사용하여 테이블에 인덱스를 추가하는 InnoDB입니다.
    EXPLAIN SELECT * FROM idc_work_order_main WHERE id = '100' 그런 다음 explain을 사용하여 현재 SQL 문에서 인덱스를 사용하는지 여부와 인덱스 사용 방법을 확인합니다.

    회신하다
    0
  • 高洛峰

    高洛峰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의 키, 기본 키, 고유 키 및 인덱스의 차이점

    회신하다
    0
  • 伊谢尔伦

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

    인덱스, 쿼리 속도 향상

    회신하다
    0
  • 취소회신하다