【发布时间】:2025-12-06 01:15:02
【问题描述】:
我最近想出了一个问题。
我和我的朋友在做一个项目,当我的朋友设计数据库时,他将相同类型的数据按月份拆分到不同的表中(每月一张表)。他这样做的原因是为了数据库性能。
我有点怀疑这个解决方案,因为他将所有表放在一台机器上,所以我认为性能与为日期构建索引相同。
谁能讨论这个问题并给我一些提示?
【问题讨论】:
标签: mysql sql database datatable
我最近想出了一个问题。
我和我的朋友在做一个项目,当我的朋友设计数据库时,他将相同类型的数据按月份拆分到不同的表中(每月一张表)。他这样做的原因是为了数据库性能。
我有点怀疑这个解决方案,因为他将所有表放在一台机器上,所以我认为性能与为日期构建索引相同。
谁能讨论这个问题并给我一些提示?
【问题讨论】:
标签: mysql sql database datatable
除非每月有超过大约几千万行,那么拆分不是一个好主意,也不会提供更多的数据库性能。
通过为您的查询工作负载识别正确的索引,您将获得更好的性能提升。
当您每月有数百万行时,将表划分为日期范围可能在某些情况下会提高性能(取决于查询工作负载)。
【讨论】:
如果其他选项如the MERGE storage engine 和 built-in MySQL partitioning 对你不起作用,看来不是这样。
【讨论】: