gpt4 book ai didi

sql - 如何提高数据库的性能?

转载 作者:太空狗 更新时间:2023-10-30 01:43:42 25 4
gpt4 key购买 nike

我在公司设计过几次数据库。为了提高数据库的性能,我只寻找规范化和索引。

如果您被要求提高具有大约 250 个表和一些具有数百万条记录的表的性能,您会寻找哪些不同的东西?

提前致谢。

最佳答案

优化逻辑设计

逻辑层是关于查询和表本身的结构。首先尝试最大化它。目标是在逻辑级别访问尽可能少的数据。

  • 拥有最高效的 SQL 查询
  • 设计支持应用程序需求的逻辑模式(例如列的类型等)
  • 设计权衡以更好地支持某些用例
  • 关系约束
  • 规范化

优化物理设计

物理层处理非逻辑的考虑,比如索引的类型,表的参数等。目标是优化IO,这一直是瓶颈。调整每个表以满足它的需要。可以将小表永久加载到 DBMS 缓存中,写入率低的表可以与更新率高的表有不同的设置以占用更少的磁盘空间等。根据查询,可以使用不同的索引等。您可以使用物化 View 等透明地非规范化数据。

  • 表参数(分配大小等)
  • 索引(组合、类型等)
  • 系统级参数(缓存大小等)
  • 分区
  • 反规范化

首先尝试改进逻辑设计,然后是物理设计。 (然而两者之间的界限是模糊的,所以我们可以争论我的分类)。

优化维护

必须正确操作数据库才能尽可能保持高效。这包括一些可能会影响性能的维护任务,例如

  • 保持最新的统计数据
  • 定期对关键表重新排序
  • 磁盘维护
  • 所有系统的东西都有一个摇滚的服务器

关于sql - 如何提高数据库的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2007575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com