什么是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
Run Code Online (Sandbox Code Playgroud)
;
Dav*_*ant 42
我建议你阅读MySQL如何使用索引从MySQL参考手册.它声明使用了索引......
WHERE快速查找与子句匹配的行.MIN()或MAX()值.数据库中的索引就像书中的索引一样.您可以更快地在书中找到所需内容,因为索引按字母顺序列出.MySQL使用B树来组织其索引,而不是按字母顺序排列的列表,这样可以更快地实现其目的(但对人类来说需要更长的时间).
使用更多索引意味着占用更多空间(以及维护索引的开销),因此只有在满足上述使用标准的列上使用索引才真正值得.
在您的示例中,id和blog_post_id列都使用索引(PRIMARY KEY也是索引),以便应用程序可以更快地找到它们.在这种情况下id,很可能这允许用户快速修改或删除评论,并且在这种情况下blog_post_id,应用程序可以快速找到给定帖子的所有评论.
您会注意到该email列没有索引.这意味着通过特定的电子邮件地址搜索所有博客帖子可能需要相当长的时间.如果您想要添加特定电子邮件地址的所有评论,那么添加索引也是有意义的.
| 归档时间: |
|
| 查看次数: |
77020 次 |
| 最近记录: |