首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定添加索引的成本/效益?

如何确定添加索引的成本/效益?
EN

Database Administration用户
提问于 2014-11-25 05:08:13
回答 2查看 4.1K关注 0票数 12

根据克雷格林格的说法:

虽然在引用端外键列上(或包括)创建索引通常是个好主意,但它并不是必需的。添加的每个索引都会稍微降低DML操作的速度,因此您需要为每个INSERTUPDATEDELETE支付性能成本。如果索引很少使用,那么它可能不值得拥有。

如何确定添加索引的效益是否超过其成本?

您是否在添加索引之前/之后分析单元测试并检查总体性能增益?还是有更好的方法?

EN

回答 2

Database Administration用户

发布于 2014-11-25 05:16:59

索引的使用取决于数据的结构和数据的选择性。如果您查询不使用它们,它们是昂贵的。如果你有效地使用它们,它们是很好的工具。有一个查询计划器和查询计划分析器(EXPLAIN),用于计划或计划以及执行命令(EXPLAIN ANALYZE)。

还有一本很棒的在线书:关于推荐使用索引的使用索引卢克

票数 4
EN

Database Administration用户

发布于 2018-06-18 20:38:08

选择经验法则并遵循它们。例如,我总是在外键的引用端创建索引。

确保根据用户需求根据性能标准对产品进行性能测试。例如,系统需要处理每分钟100个POST请求类型X的传入负载。

如果您不能满足您的性能要求,那么改进您的模型,可能会破坏您在该过程中的经验规则。

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

https://dba.stackexchange.com/questions/83541

复制
相关文章

相似问题

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