Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103623769
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-10 20:39:05

 来源:赛迪网技术社区    作者:changelive

本文分析了Sybase数据空间占用为何如此之大。

硬件环境:win2k+sybase12.5.2

具体操作

我的建表SQL如下:

CREATE TABLE PHONE_INFO 
(
PHONENO CHAR(8) NOT NULL ,
TYPE CHAR(1),
PRIMARY KEY (PHONENO) 
)
go

要导入500W数据,原来的文本文件只有61MB

例如:

88888888|1|

........

问题:导入后发现占用空间增长很大,原来备份只有500MB左右,但现在备份的文件是4.5GB。

解决方法一

表是不是是用了行锁,可以用dbcc reorg来回收空间,相当windows的碎片整理。

解决方法二:

先测试:

sp_spaceused 
go
sp_spaceused PHONE_INFO
go

看看是不是都是这个表占的空间?这个库里还有什么其他表呢?

解决方法三:

insert into TEMP_PHONE_INFO 
SELECT * FROM PHONE_INFO
GO
sp_rename TEMP_PHONE_INFO,PHONE_INFO
阅读(371) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~