根据克雷格林格的说法:
虽然在引用端外键列上(或包括)创建索引通常是个好主意,但它并不是必需的。添加的每个索引都会稍微降低DML操作的速度,因此您需要为每个
INSERT、UPDATE或DELETE支付性能成本。如果索引很少使用,那么它可能不值得拥有。
如何确定添加索引的效益是否超过其成本?
您是否在添加索引之前/之后分析单元测试并检查总体性能增益?还是有更好的方法?
发布于 2014-11-25 05:16:59
索引的使用取决于数据的结构和数据的选择性。如果您查询不使用它们,它们是昂贵的。如果你有效地使用它们,它们是很好的工具。有一个查询计划器和查询计划分析器(EXPLAIN),用于计划或计划以及执行命令(EXPLAIN ANALYZE)。
还有一本很棒的在线书:关于推荐使用索引的使用索引卢克
发布于 2018-06-18 20:38:08
选择经验法则并遵循它们。例如,我总是在外键的引用端创建索引。
确保根据用户需求根据性能标准对产品进行性能测试。例如,系统需要处理每分钟100个POST请求类型X的传入负载。
如果您不能满足您的性能要求,那么改进您的模型,可能会破坏您在该过程中的经验规则。
https://dba.stackexchange.com/questions/83541
复制相似问题