免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3065 | 回复: 6

某张表中有多个txt字段,导致占用空间极大 [复制链接]

论坛徽章:
0
发表于 2009-03-12 10:58 |显示全部楼层
我们公司的应用中,有一张表,其中包括8个txt字段。bcp出来的数据是几百兆,bcp in后,空间占了50GB。想请教各位大哥有无好的办法解决。应用环境:ASE15.0.2  AIX5.3。具体情况如下

1> use zjszyy
2> go
1> sp_help mzyskfk
2> go
Name    Owner Object_type Create_date
------- ----- ----------- -------------------
mzyskfk dbo   user table  Dec 28 2002 12:36PM

(1 row affected)
Column_name Type     Length Prec Scale Nulls Default_name Rule_name
         Access_Rule_name Computed_Column_object Identity
----------- -------- ------ ---- ----- ----- ------------ ---------
         ---------------- ---------------------- ----------
id          int           4 NULL  NULL     0 NULL         NULL
         NULL             NULL                            0
zyh         int           4 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
ysh         char          4 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
mzkb        varchar       5 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
mzrq        datetime      8 NULL  NULL     0 NULL         NULL
         NULL             NULL                            0
je          numeric       5    8     2     1 NULL         NULL
         NULL             NULL                            0
brzz        text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
xyzs        numeric       2    2     0     1 NULL         NULL
         NULL             NULL                            0
cyzs        numeric       2    2     0     1 NULL         NULL
         NULL             NULL                            0
zyzs        numeric       2    2     0     1 NULL         NULL
         NULL             NULL                            0
bz_zg       text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bz_kg       text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bazdh_1     varchar       5 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bazdh_2     varchar       5 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bazdh_3     varchar       5 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bazd_1      varchar      40 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bazd_2      varchar      40 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bzzd_3      varchar      40 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
sfbz        char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bl_zs       text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bl_xbs      text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bl_jws      text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bl_grs      text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bl_jts      text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bl_tj       text         16 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bkbz        int           4 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
jbm         varchar      50 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
czgh        varchar       5 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
mzlx_id     tinyint       1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
cz          char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
xy          varchar      20 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
dsqs        char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
scbz        char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
qx          char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
dtsz        char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
bjgb_bz     char          1 NULL  NULL     1 NULL         NULL
         NULL             NULL                            0
Object has the following indexes

index_name      index_keys index_description index_max_rows_per_page
         index_fillfactor index_reservepagegap index_created       index_local

--------------- ---------- ----------------- -----------------------
         ---------------- -------------------- ------------------- ------------

mzyskfk_x        id        clustered, unique                       0
                        0                    0 Dec 28 2002  4:07PM Global Index

mzyskfk_i_mzrq   mzrq      nonclustered                            0
                        0                    0 Jul 30 2006  4:36AM Global Index

idx_mzyskfk_zyh  zyh       nonclustered                            0
                        0                    0 Jul 30 2006  4:36AM Global Index


(3 rows affected)
index_ptn_name            index_ptn_seg
------------------------- -------------
mzyskfk_x_731914698       default
mzyskfk_i_mzrq_731914698  default
idx_mzyskfk_zyh_731914698 default

(3 rows affected)
No defined keys for this object.
name    type       partition_type partitions partition_keys
------- ---------- -------------- ---------- --------------
mzyskfk base table roundrobin              1 NULL

(1 row affected)

partition_name    partition_id pages  row_count segment create_date
----------------- ------------ ------ --------- ------- -------------------
mzyskfk_731914698    731914698 456552   4648789 default Aug 15 2008 11:04PM

Partition_Conditions
--------------------
NULL

Avg_pages   Max_pages   Min_pages   Ratio(Max/Avg)       Ratio(Min/Avg)
----------- ----------- ----------- -------------------- --------------------
      456552      456552      456552             1.000000             1.000000
Lock scheme Allpages
The attribute 'exp_row_size' is not applicable to tables with allpages lock
scheme.
The attribute 'concurrency_opt_threshold' is not applicable to tables with
allpages lock scheme.

exp_row_size reservepagegap fillfactor max_rows_per_page identity_gap
         ascinserts
------------ -------------- ---------- ----------------- ------------
         -----------
            0              0          0                 0            0
                   0

(1 row affected)
concurrency_opt_threshold optimistic_index_lock dealloc_first_txtpg
------------------------- --------------------- -------------------
                         0                     0                   0
(return status = 0)
1> sp_spaceused mzyskfk,1
2> go
index_name      size       reserved   unused
--------------- ---------- ---------- ---------
mzyskfk_i_mzrq  114054 KB  114144 KB  90 KB
idx_mzyskfk_zyh 114732 KB  286904 KB  172172 KB
tmzyskfk        53856722 K 54024240 K 167518 KB
mzyskfk_x       8300 KB    927012 KB  5608 KB

(1 row affected)
name    rowtotal reserved    data      index_size  unused
------- -------- ----------- --------- ----------- ---------
mzyskfk 4648796  55352300 KB 913104 KB 54093808 KB 345388 KB
(return status = 0)
1>

论坛徽章:
0
发表于 2009-03-12 18:10 |显示全部楼层
多大的页面?平均一行有多少数据?原来的库中表占用了多少空间?

论坛徽章:
0
发表于 2009-03-17 15:53 |显示全部楼层
2k的页面。平均一行有1.5K数据。准备将TEXT字段改为varchar(1000)。来解决

论坛徽章:
0
发表于 2009-03-24 14:19 |显示全部楼层
问题已经解决。步骤如下:
1.新建临时表,将TEXT字段改为varchar(1000)。
2.停止生产应用,将数据BCP OUT。
3.再将数据BCP IN 临时表。
4.该表名。
表的大小从50GB缩小到1GB。

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2009-03-25 08:36 |显示全部楼层
9个text类型字段,每个字段都改成varchar(1000),你配置的2K的服务器页面能存下这么多的数据吗?

论坛徽章:
0
发表于 2009-04-01 16:09 |显示全部楼层
1.新建临时表,将TEXT字段改为varchar(1000)。
建立临时表示,系统有警告,但是表可以建立。通过分析应用,可以看见单个字段肯定不会用到500汉字,最多一行所有字段一起占用汉字532个。

论坛徽章:
0
发表于 2009-04-02 10:36 |显示全部楼层
能建上就好,前两天我搞的那个建不了,没办法只能建4k页面的服务
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP