摘要: 今天一個朋友問起,將自己的想法寫出,以便備用
EXEC sp_spaceused '表名'
上面的語句查詢的是該表的數據大小及總行數
下面的是執行過程:
一、將上述查詢出的總行數<@totalRow>及數據大小<@dataSize>放入臨時變量中
二、將待分隔大小與總大小比較,看看要分成幾份,并將份數<@splitNum>記入臨時變量中
三、執行:select top @totalRow/@splitNum * into #temp from 表名 ; 并將@totalRow/@splitNum 的值放入@splitRows,并將開始行數<@startRow>及結尾行<@endRow>記錄
四、執行:EXEC sp_spaceused '#temp' 判斷其數據大小
五、如果分隔出來的大小在合理范圍內,則執行相同操作
六、如果分隔出來的大小不在合理范圍內則刪除臨時表,則重新執行操作<三>
閱讀全文