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

业余爱好者的数据库优化技术

如何解决《业余爱好者的数据库优化技术》经验,为你挑选了3个好方法。

我们可以获得一系列基本优化技术(从建模到查询,创建索引,视图到查询优化).有一个列表,每个答案一个技术,这将是很好的.作为一个业余爱好者,我会发现这非常有用,谢谢.

为了不太模糊,假设我们使用的是MySQL或Oracle等maintstream数据库,并且数据库将在~10个表中包含500,000-1m左右的记录,其中一些具有外键约束,所有使用最典型的存储引擎(例如:InnoDB for MySQL).当然,定义PK等基础知识以及FK约束.



1> BradC..:

了解索引,并正确使用它们.一般而言*,请遵循以下准则:

每个表都应该有一个聚簇索引

用于过滤器和排序的字段是索引的良好候选者

更多选择性字段是更好的索引候选者

为了在关键查询上获得最佳性能,请为这些查询设计"覆盖索引"

确保您的索引实际被使用,并删除那些不是

如果你的表有15个字段,并且你创建了15个索引,每个只有一个字段,那你就错了:)

*如果你知道自己在做什么,这些规则有一些例外.我的经验是Microsoft SQL Server,但我认为这些建议的大部分仍然适用于不同的RDMS.



2> Thomas..:

IMO,到目前为止,最好的优化是让数据模型适合构建它的问题域.如果没有,则产生的症状是难以编写或复杂的查询,以便获得所需的信息,并且在针对数据库构建报告时通常会自行查找.因此,在设计数据库时,有助于了解用户希望从系统中获取的信息的类型和性质,例如报告.



3> Gabriel Ščer..:

在谈论数据库设计时,请查看数据库规范化,例如维基百科文章:普通表格.

如果您有一个好的设计,但仍需要优化性能,请尝试Denormalisation.

如果您有特定需求未被关系模型有效覆盖,请查看NoSQL术语涵盖的其他模型.

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