gpt4 book ai didi

mysql - MySQL针对大表的优化

转载 作者:行者123 更新时间:2023-11-30 00:39:13 24 4
gpt4 key购买 nike

关于MySQL和大表优化的问题。 MySQL服务器运行在容量有限的服务器上,我们需要对其进行尽可能的优化。

我们以每秒一次测量的速率对数据进行采样,并用它在网络应用程序上绘制图表。

目前所有这些数据都在一个表中,我们最终得到了数亿个数据点。

我们有几个数据源,它们都有两个 id:一个用于位置,一个用于源本身。我们一起使用两个 id 来获得唯一的 id,并且我们不使用 MySQL id 来减少数据的大小。我们使用 posix 加上两个 id 一起作为表主键,并使用它们来查询数据库。这些 ID 不是由 SQL 生成的。

通常我们使用时间段中大约 400 个点和多个来源来绘制图表。

问题:这种设计的最佳优化是什么?

第一个问题:将所有数据保留在一个表中还是将它们分成多个表更好?这样做的缺点是使代码变得复杂,因为我们会有动态表。

如果最好将它们保存在一个表中,那么使用基于 ids 和 posix 的主键是否是正确的方法?

是否有一些特定的 mysql 优化用于此目的?

谢谢

最佳答案

如果我理解得很好,这种情况的最佳优化就是 distributed database 。更具体地说,我将应用 horizontal partitioning method到你提到的这张表。

粗略地说,这是一种根据某些特定条件将表分成片段的方法,这样您的查询就不必一次处理大量数据。您可以使用它来仅处理某些特定查询的相关数据,甚至可以使用并行性处理所有数据。

请允许我不再进一步解释,因为我不确定这是否正是您想要和需要的,也因为您可能可以按照自己的节奏更好地阅读此事。不过,希望这可以为您提供一个起点,从而有所帮助。

关于mysql - MySQL针对大表的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923922/

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