首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >减少行数

减少行数
EN

Stack Overflow用户
提问于 2013-01-08 19:08:16
回答 5查看 89关注 0票数 0

在我的应用程序中,我有一个SQL Server2008表Employee Swipedaily_Tbl,其中包含11列,其中插入了员工的日常刷卡。

我的公司大约有8000名员工。这意味着每天将至少创建16000行。

我计划在月底删除所有行,并将它们保存到另一个表中,以提高性能......或通过应用程序本身将上月数据备份为dmb文件

由于我是SQL Server和DBA的新手,有没有人能建议我有更好的主意?

我可以从应用程序创建转储文件吗?

EN

回答 5

Stack Overflow用户

发布于 2013-01-08 19:39:31

无论是使用Partitioning Table,以便在大容量数据库表中插入新数据不会影响其性能,还是使用脚本每月备份数据,使用SQL Job并从现有数据中删除,但如果您正在使用身份列,您可能需要在脚本中进行一些更改,以避免新旧数据之间的冲突。

票数 2
EN

Stack Overflow用户

发布于 2013-01-08 19:16:35

  1. 创建一个完全相同的表

SQL创建一个

  1. 脚本,将早于给定日期(例如今天的日期)的所有数据复制到该表中,并从您的table
  2. Configure中删除一个SQL代理作业,以便在每个月的1号执行该脚本

但是,有了正确的索引,您应该可以在更长的时间内重新创建原始表中的数据- 365天x 8000名员工x 2刷=584万条记录,对于SQL server来说并不是太多。

拉杰

票数 1
EN

Stack Overflow用户

发布于 2013-01-08 19:20:49

您可以创建另一个与Swipedaily_Tbl(11 columns)相同的表,其中包含一个额外的列,用于告知何时将特定记录插入到备份表中。然后,您可以创建一个脚本来备份超过一个月的数据,并从原始表中删除该数据。然后,您可以创建可计划在月底运行的批处理或控制台应用程序。

希望这能有所帮助。

谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14213644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档