首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL - 101中的索引?

问MySQL - 101中的索引?
EN

Stack Overflow用户
提问于 2010-12-24 19:23:24
回答 2查看 669关注 0票数 3

我做过创建表和键的工作,这是最基本的东西。没有使用索引的经验。所以问题是:我需要手动创建索引,还是MySQL为我创建的所有表自动创建索引?

如果我需要创建它们,这是不是意味着任何具有PK和FK的列都需要被索引,或者这是与哪些列需要索引,哪些不需要索引有关的业务逻辑。

EN

回答 2

Stack Overflow用户

发布于 2010-12-24 20:54:44

您需要自己创建它们。PKs实际上是索引本身,因此不需要对这些列进行双重索引。而FKs只能针对索引列实现...

至于何时以及为什么要实现索引,我建议阅读以下内容:

  1. The official documentation
  2. MySQL Performance Blog
  3. A sitepoint index

需要注意的一件事是,不要盲目地到处添加索引。这通常不是一个好主意。相反,计划和测试。只添加在您的特定使用中能给您带来可测量收益的索引。索引不是免费的,所以不要随便乱扔……

票数 3
EN

Stack Overflow用户

发布于 2010-12-24 20:53:13

你必须创建它们。

主键是索引,FK也是。(所以不需要在PK或FK上创建索引)

必须为WHERE语句中出现的任何列创建索引。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4526027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档