处理1个表中的大量记录

问题描述:

我想问几个问题如何处理1个单表中的大量1亿个数据。
表将执行INSERT,SELECT &更新。处理1个表中的大量记录

我已经得到了一些建议,为索引的表和存档表成情侣表。

任何其他可以帮助调整SQL性能的建议。

案例: SQL Server 2008. 大多数情况下关于小数值的更新以及tiny int的状态。

INSERT语句将不使用BULK INSERT,因为我假设每分钟是there'r很多用户所说的,让执行10000-500000 INSERT语句和更新表。

+0

隔靴搔痒信息... – Randy

+0

我想如果我打算设计一个表的数据库,大型,我会开除的应用开发商之一,与数据库专家谁是熟悉的高性能替代,大型系统。你没有足够的技能或能力来正确设计它,并且需要大约十年的时间才能得到它们。 – HLGEM

你应该考虑你有什么样的列。

已包含在不同的指标越多nvarchar/text /等栏目,越慢指数会。

你还要用什么RDBMS?您有不同的选择基于SQL Server,Oracle和MySQL在...

,但最关键的事情是不同的,以建立正确的指数的,你会使用...

的另一件事,你可以上使用BULK INSERT SQL Server来加速插入。

但问了,我已经处理了70轧机数据行被填充数据库PR天;)

编辑-----更多信息已经

后,我会尽力采取这种情况很少有其他方法,并将其与数据挖掘进行比较。

毫无疑问,INSERT比UPDATE更快。你可能想要制作一张充当“收集”表格的表格。我的意思是说它只能一直插入。没有更新,全部是插入处理。

然后你使用一个触发/事件/调度处理什么已经进入该表并填充你需要另一个(或多个)表(S)是什么。

这样你就可以一点点的业务逻辑应用到了“清理”(更新),并保持业绩的数据库服务器上,而这些事情完成撑不起来的连接。

这当然也有一些做的“最后”的数据是什么用于...

\ t

+2

此答案与清晰度中的问题相匹配。 –

+0

混淆描述? –

+0

另一件事,如果你要“拖拽”一个答案,请提供一些你自己的信息......正如我写的,我选择了另一条“路线”来解决方案/建议。 –

显然SQL 2008能100万条记录,但很多看看这个细节在10万没有发挥作用。选一个好的主键。填充因子。其他索引(会减慢插入速度,但选择速度)。并发(锁定)。如果你可以接受脏读,那么这将有助于性能。这个问题需要更多的细节。您需要发布表设计和选择,更新并插入TSQL语句。我没有投票你的问题,但如果你不提供更多的细节,它会被拒绝。

对于插入请注意,如果BULK INSERT不是选项,您可以一次插入多行,并且比多个插入语句快得多。

INSERT INTO Production.UnitMeasure 
    VALUES (N'FT2', N'Square Feet ', '20080923'), (N'Y', N'Yards', '20080923'), (N'Y3', N'Cubic Yards', '20080923');