【问题标题】:Can I keep 100 million records in single table or multiple table?我可以在单个表或多个表中保留 1 亿条记录吗?
【发布时间】:2017-02-24 07:09:08
【问题描述】:

我们使用的是 SQL Server 2008 标准版。我们为 70 个国家/地区拥有 1 亿条记录。我的任务是提高 1 亿条记录的数据访问性能,我需要决定将 1 亿条记录放在单个表中还是多个表中。 SQL Server 2008 标准版不支持分区表。根据从 1 亿条记录中选择、插入、删除、更新操作的最佳性能,这是单表还是多表的最佳方法。注意:我们正在根据特定国家进行选择、插入、删除、更新操作。

【问题讨论】:

  • 可以对单表进行分区
  • SQL Server 2008 标准版不支持分区表。还有其他选择吗?

标签: performance sql-server-2008 rows


【解决方案1】:

您可以根据以下策略对单个表进行分区,

  1. 水平分区:根据列拆分表(这不适用于您的情况)
  2. 垂直分区:根据行拆分表(这对您的情况很有帮助)

正如您所说的,您在国家/地区进行操作,那么如果国家/地区计数不高,您可能可以根据国家或地区对表进行分区。

这将优化您的查询/操作,因为每次访问的数据量都相对较少。

【讨论】:

  • 感谢您的回复,但 SQL Server 2008 标准版不支持分区表。请提及 SQL Server 2008 标准版中分区表的替代方案。
  • 我不是说对表进行分区,我是说根据国家名称将数据拆分为不同的表,例如美国的表名 - 印度的美国表名 - 印度您的查询将被重定向到特定的表(美国、印度),这将缩短您的响应时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-29
相关资源
最近更新 更多