摘要: 今天一个朋友问起,将自己的想法写出,以便备用
EXEC sp_spaceused '表名'
上面的语句查询的是该表的数据大小及总行数
下面的是执行过程:
一、将上述查询出的总行数<@totalRow>及数据大小<@dataSize>放入临时变量中
二、将待分隔大小与总大小比较,看看要分成几份,并将份数<@splitNum>记入临时变量中
三、执行:select top @totalRow/@splitNum * into #temp from 表名 ; 并将@totalRow/@splitNum 的值放入@splitRows,并将开始行数<@startRow>及结尾行<@endRow>记录
四、执行:EXEC sp_spaceused '#temp' 判断其数据大小
五、如果分隔出来的大小在合理范围内,则执行相同操作
六、如果分隔出来的大小不在合理范围内则删除临时表,则重新执行操作<三>
阅读全文