志当存高远,功到自然成!

少年强则中国强,少年进步则中国进步!

BlogJava 首页 新随笔 联系 聚合 管理
  53 Posts :: 2 Stories :: 2 Comments :: 0 Trackbacks
經過各種測試,現將經驗總結如下:
ASE+SYB12.0   一個大表AAA 共一億多條記錄 21G(加索引的大小)

-->
方法是最快的,不過要更改server的一些參數,如果相應的參數沒有更改,就不一定了。
1,sp_poolconfig 'default data cache',"7G","16K","2K"
     ----建16K的7G大小的default cache
     select into ,大部分的查詢(包括,全表掃瞄,使用聚集索引的範圍查詢, order by等)使用16K的I/O能獲得更好的性能。
    [color=red]增加16K 緩存的大小,能明顯提高"select into"的速度![/color]


2,sp_configure 'max online engines,7
     ----Adaptive Server 聯機引擎的最大數,不能超過cpu數
   sp_configure 'number of worker processes',7
    ---同步運行並行的組合查詢可使用的工作進程的最大數,小於等於「max online"數
   sp_configure 'max parallel degree',7
    ---最大並行度,全服務器範圍每個查詢允許使用的工作進程的最大數目,小於等於「worker processes"數
   sp_configure 'max scan parallel degree',7
    --基於散列掃瞄的最大並行度,小於等於「worker processes"數
   [color=red]以上參數提高並發度[/color]

3,sp_configure 'number of sort buffers',20000
    ---指定在排序時所用的2K緩衝區的數目。說明了有多少緩衝區可以用來存放輸入表的數據頁。
   [color=red]創建一個很大的索引,而SQL Server上其他的操作又很少時,設置該參數可以提高create index 的性能。[/color]


調整以上參數後,採用select into到臨時表,drop原表,rename臨時表,建索引是比較快的。
比bcp快!bcp出來就慢,回去更慢!

只有注册用户登录后才能发表评论。


网站导航: