gpt4 book ai didi

sql - 在 Sql 服务器表变得丑陋之前,我可以在其中存储多少条记录?

转载 作者:行者123 更新时间:2023-12-01 22:29:49 25 4
gpt4 key购买 nike

我被要求对新系统进行一些性能测试。它只与一些客户端一起运行,但随着他们期望增长,这些是我用于测试的数字:

200个客户端,4年的数据,每...5分钟的数据变化。因此,每个客户每 5 分钟就有 1 条记录。这意味着每个客户每年有 365*24*12 = 105.000 条记录,这意味着我的测试有 8000 万条记录。它有一个到另一张表的 FK、一个 PK(唯一标识符)和一个 clientID 索引。

这是 SqlServer mock 的事情吗,因为它并没有吓到他,对于一台四核 8 GB 机器来说这是否太多了,这是否处于边缘,或者......

有人有过处理这类数字的经验吗?

最佳答案

现场 PK 应该尽可能小并且不是随机的 - GUID 在这里很糟糕。主要问题是:

  • 所有外键都使用 PK 来引用行,因此较大的 PK 使用更多空间?=更多 IO。
  • 随机 PK 意味着到处都会发生插入 = 许多页面拆分 = 索引使用效率低下。

这有多糟糕?我知道在某些情况下你会失去 80% 的速度。

否则 - 没问题。我有一个超过 8 亿行的表,而且速度非常快;) 当然,您需要有合适的查询、合适的索引,显然这不能在单个 5400 RPM 绿色硬盘上运行才能高效 - 但如果适当的话IO,而不是愚蠢的查询和一些不错的索引,SQL 不会在数十亿行上犹豫不决。

因此,虽然“这取决于情况”,但通用答案是大表不是问题.........除非你进行大规模删除。删除一半的表将是一项巨大的事务,这就是为什么分区对于会计之类的东西很有用 - 每年一个分区表意味着我可以在没有 DELETE 语句的情况下删除一年的数据;)

关于sql - 在 Sql 服务器表变得丑陋之前,我可以在其中存储多少条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2788300/

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