数据库设计问题:如何在Oracle中处理大量数据?

时间:2009-09-28 16:05:47

标签: asp.net oracle database-design

我有超过1.500.000个数据条目,随着时间的推移它会逐渐增加。这些海量数据来自150个地区。

现在我应该创建150个表来管理这个不断增加的大数据吗?这会有效吗?我需要快速操作。将使用ASP.NET和Oracle。

8 个答案:

答案 0 :(得分:5)

如果所有数据都相同,请不要将其拆分到不同的表中。看一下Oracle的表分区。按区域(或更多)划分的150个分区(或更多)可能更符合您要寻找的内容。

我还建议您查看Oracle数据库性能调优技巧&技术预订和浏览Oracle网站上的Ask Tom。

答案 1 :(得分:4)

只有1.5 M行?真的不是很多......

使用一张桌子;研究如何在150个桌子上写一个150人的联盟将是谋杀。

答案 2 :(得分:1)

150万行看起来并不那么多。有多少人在任何给定点访问表格?你有任何索引设置吗?如果您希望它变得更大,您可能需要查看partitioning in databases

FWIW,我定期使用100M +行处理数据库。除非你有成千上万的人一次使用它,否则它不应该是这么糟糕。

答案 3 :(得分:1)

每个地区1个表格没有标准化;你可能会在那里失去一堆效率。每个数据输入站点1个表也很不寻常。规范化是巨大的,它将为您节省大量的时间,所以我确保您没有存储任何重复的数据。

如果您正在使用oracle,则不需要拥有多个表。它将支持超过150万行。如果您需要加速数据访问,可以尝试使用雪花模式来提取常用数据。

答案 4 :(得分:0)

如果你的意思是表中有1,500,000行,那么你就不必担心了。 Oracle可以轻松处理比这更大的负载。

如果您需要识别数据所在的区域,您可以创建一个Region表并将ID与该数据表绑定到大数据表。

恕我直言,你应该发布更多细节,我们可以帮助你。

答案 5 :(得分:0)

包含2,000行的数据库可能很慢。这一切都取决于您的数据库设计,索引,密钥,最重要的是运行数据库服务器的硬件配置。应用程序使用此数据的方式也很重要。是读密集型数据库还是事务密集型?你现在要问的是没有正确的答案。

答案 6 :(得分:0)

首先需要考虑要访问该表的操作。如何进行插入?是否会更新现有行,如果是,如何更新?行数增长多少,增长的百分比是多少?行会被删除吗?按什么标准?您将如何选择数据?每个查询的标准和数量是多少?

答案 7 :(得分:0)

数据分区可用于远大于1.5米行的数据量。考虑优化 SQL查询,批处理和数据存储。