j******i 发帖数: 121 | 1 数据库里有个partition大表,需要删除一半的数据 重建global index,
请问在这些工作都做完,怎样验证删除掉的数据没有出现在 现存的table里?
drop partition有哪些需要注意的事情么? |
s**********o 发帖数: 14359 | 2 你这个只是删除数据,最多就是DROP掉几个FILEGROUP,修改一下PARTITION SCHEME,
INDEX REBUILD一下就够了吧,证明数据不存在,那不就是SELECT WHERE一下么
不需要DROP PARTITION,注意就是做好BACKUP,别一删除就搞错了后悔 |
j******i 发帖数: 121 | 3 非常感谢讲解。
还有点迷糊....
我们不需要drop data 就是建个新表 把半年的数据select as 导入,然后名字改掉
证明数据不存在 用select where 会不会是全表扫描?会时间很长么?能给个范例 讲
解吗
多谢多谢
[在 smallburrito (smallburrito) 的大作中提到:]
:你这个只是删除数据,最多就是DROP掉几个FILEGROUP,修改一下PARTITION SCHEME,
:INDEX REBUILD一下就够了吧,证明数据不存在,那不就是SELECT WHERE一下么
:........... |
s**********o 发帖数: 14359 | 4 比如,把浏览网页的记录做成PARTITION TABLE,时间,IP,看了啥是一个记录
按照年份或者月份做PARTITION比如2015年的一个FILEGROOUP, 2014年的一个
FILEGROOUP,2013,2012,2011等等。现在你说删掉一半,一般就是按照年份删吧,把
2011 2012年的删掉,把FILEGROUP去掉就行了。但你要说,把IP是102.-190。的全部删
掉,那只能去TABLE上删掉,跟PARTITION就没啥关系了,INDEX 就DBCC REINDEX一下就
得了。PARTITION的目的就是为了BACKUP容易,查询起来容易。你要DROP PARTITION就
说明你的PARTITION建的目的不对,没弄好,一般都不会去删东西。TABLE PARTITION
针对的都是海量数据,比如色情网站一天的浏览量就上亿,要存个几年的数据就会
巨大无比,按时间PARTITION,历史数据一般也不会去删除。 |
j******i 发帖数: 121 | 5 是你说的那样按月partition
因为现在数据库太大了 为了容易维护的目的,把旧的table rename,复制出最新半年
的重新命名在数据库里.
但数据校验的方法我没有做过 不太明白
谢谢你的讲解,清晰容易理解 |