日期:2014-05-18  浏览次数:20472 次

数据库中什么是垃圾数据
想在过程中添加加入自动删除垃圾数据程序,请大侠给个答案

------解决方案--------------------
你不需要的数据都是垃圾数据,问题是你怎么知道哪些是你不要的?。。
------解决方案--------------------
orphan user,可以drop

select * from sys.database_principals a
where not exists 
(

select 1 from sys.server_principals b
where a.sid = b.sid
)
and a.type in ('S','U','G')
and a.name not in ('guest', 'INFORMATION_SCHEMA', 'sys', 'BROKER_USER', 'dbo')
------解决方案--------------------
哈哈,楼主的问题,让我想起一个笑话,

进入校门时被保安拦住,被问了三个哲学上的终极问题: 
“你是谁?” 
“你从哪里来?” 
“你要到哪里去?”
------解决方案--------------------
关键是你的系统是如何定义垃圾数据的,常见的有如下:
1.比如系统只要查询当年内的数据,那么去年及更早的数据就是垃圾数据。
2.系统升级或改造后,某些功能被去除,部分相关的表可能永远也不会再用到,那么那些表的数据可以算垃圾数据。
3.错误的数据,比如不小心插入的错误数据,或者BUG导致错误数据,这些数据通常都是垃圾数据。
4.缓存表的数据,某些表只是作为增加性能额外添加的(例如先同步到缓存表再作二次处理的情况),这些缓存表通常都是一次性用途,用完之后,就变成垃圾数据。
5.辅助表的数据,有时为了开发或测试方便添加的一些跟业务无关的表,这些表的数据可以算是垃圾数据。

PS:即使是垃圾数据,也不排除有利用的一天。