当前位置:  开发笔记 > 后端 > 正文

MYSQL:create table中的Index关键字以及何时使用它

如何解决《MYSQL:createtable中的Index关键字以及何时使用它》经验,为你挑选了1个好方法。

什么是index关键词的意思是,它提供什么功能?我知道这是为了加快查询速度,但我不确定如何做到这一点.

何时选择要编制索引的列?

的样品index关键字的使用被显示在下面的create table查询:

CREATE TABLE `blog_comment`
(
    `id` INTEGER  NOT NULL AUTO_INCREMENT,
    `blog_post_id` INTEGER,
    `author` VARCHAR(255),
    `email` VARCHAR(255),
    `body` TEXT,
    `created_at` DATETIME,
    PRIMARY KEY (`id`),
    INDEX `blog_comment_FI_1` (`blog_post_id`),
    CONSTRAINT `blog_comment_FK_1`
        FOREIGN KEY (`blog_post_id`)
        REFERENCES `blog_post` (`id`)
)Type=MyISAM

;



1> David Grant..:

我建议你阅读MySQL如何使用索引从MySQL参考手册.它声明使用了索引......

WHERE快速查找与子句匹配的行.

消除行的考虑.

在执行连接时从其他表中检索行.

查找特定索引列的值MIN()MAX()值.

对表进行排序或分组(在某些条件下).

在不咨询数据行的情况下仅使用索引优化查询.

数据库中的索引就像书中的索引一样.您可以更快地在书中找到所需内容,因为索引按字母顺序列出.MySQL使用B树来组织其索引,而不是按字母顺序排列的列表,这样可以更快地实现其目的(但对人类来说需要更长的时间).

使用更多索引意味着占用更多空间(以及维护索引的开销),因此只有在满足上述使用标准的列上使用索引才真正值得.

在您的示例中,idblog_post_id列都使用索引(PRIMARY KEY也是索引),以便应用程序可以更快地找到它们.在这种情况下id,很可能这允许用户快速修改或删除评论,并且在这种情况下blog_post_id,应用程序可以快速找到给定帖子的所有评论.

您会注意到该email列没有索引.这意味着通过特定的电子邮件地址搜索所有博客帖子可能需要相当长的时间.如果您想要添加特定电子邮件地址的所有评论,那么添加索引也是有意义的.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有