1

我想知道什么会更有效,将大量数据存储在一个或多个表中。假设我们想存储不同地形模型的所有顶点。

第一个解决方案- 以传统方式,我们可以创建两个表:Table Terrain (id, name, description) 和 Table Vertex (terrainId, x, y, z)。

然后将所有地形的顶点存储在一个表中(顶点表)——这个表可能非常大(数亿个顶点)。

第二种解决方案- 每组顶点创建一个表。Table Vertex-For-Terrein1(x, y, z), Table Vertex-For-Terrein2(x, y, z), ..., Table Vertex-For-Terreinn(x, y, z)。

在第二种方式中,顶点表不存储有关地形的信息(此信息在表名中处理,例如 Table Vertex-For- Terrein1)。

什么会更有效率或性能更好?

4

3 回答 3

1

我会使用第一个解决方案,您可能希望通过地形 id 的功能将您的表格划分为每个可管理的单独地形,但具有标准化设计的灵活性......

于 2013-01-17T09:30:03.307 回答
1

第一个解决方案。索引VertexterrainId

第二种解决方案是非规范化,这将使数据难以维护。如果您的要求足够有限,以至于第二种解决方案更适合您,那么您可能不需要 RDBMS 系统。

于 2013-01-17T09:24:14.710 回答
0

这取决于您将如何查询这些数据。可能每个顶点只能作为 varchar(max) 存储在 Vertext 表中的一行中。

于 2013-01-17T09:58:55.720 回答