検索

ホームページ  >  に質問  >  本文

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

PHPzPHPz2848日前746

全員に返信(3)返信します

  • 阿神

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

    重要なのは、テーブルにインデックスを追加することです。インデックスの機能は、データベースのクエリ速度を向上させることです。 MySQL のデータベース エンジンは InnoDB で、B+ ツリーとハッシュの 2 つのデータ構造を使用してテーブルにインデックスを追加します。
    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 トピック ID (トピック ID)、
    KEY フォーラム ID (forum_id),
    は、user_id、topic_id、forum_id の 3 つのフィールドのインデックスの作成を指します
    mysql のキー、主キー、一意のキー、インデックスの違い

    返事
    0
  • 伊谢尔伦

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

    インデックス作成、クエリ速度の向上

    返事
    0
  • キャンセル返事