[转帖]数据库表的压缩问题_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3955 | 回复: 0   主题: [转帖]数据库表的压缩问题        下一篇 
shylone
注册用户
等级:下士
经验:199
发帖:90
精华:0
注册:2011-11-24
状态:离线
发送短消息息给shylone 加好友    发送短消息息给shylone 发消息
发表于: IP:您无权察看 2011-11-26 17:01:37 | [全部帖] [楼主帖] 楼主

Oracle 9iR2 开始,ORACLE提供了表/表空间压缩技术,以减少磁盘开销,节省空间,并在某些情况下提高查询性能。

那么表压缩是如何工作的?

Orcle9i2版中,表压缩特性通过删除在数据库表中发现的重复数据值来节省空间。压缩是在数据库的数据块级别上进行的。当确定一个表要被压缩后,数据库便在每一个数据库数据块中保留空间,以便储存在该数据块中的多个位置上出现的数据的单一拷贝。这一被保留的空间被称作符号表(symbol table)。被标识为要进行压缩的数据只存储在该符号表中,而不是在数据库行本身内。当在一个数据库行中出现被标识为要压缩的数据时,该行在该符号表中存储一个指向相关数据的指针,而不是数据本身。节约空间是通过删除表中数据值的冗余拷贝而实现的。对于用户或应用程序开发人员来说,表压缩的效果是透明的。无论表是否被压缩,开发人员访问表的方式都是相同的,所以当你决定压缩一个表时,不需要修改SQL查询。表压缩的设置通常由数据库管理人员或设计人员进行配置,几乎不需要开发人员或用户参与。

建议:在很少改变的表上使用压缩技术还是可以的。表中数据经常变动的情况下,尽量不要使用表压缩,它影响插入操作。

关于压缩表的常用操作有:

1创建一个压缩表:创建表时使用COMPRESS关键字,COMPRESS关键字指示Oracle数据库尽可能以压缩的格式存储该表中的行。

SQL> create table comp_demo (id number, ename varchar2(20), create_time date) compress;
Table created.


2 修改压缩表为非压缩表。

SQL> alter table comp_demo nocompress;
Table altered.


注意这种方式只是将往后插入的数据为非压缩,对之前已经压缩了的数据还是压缩的,要将所有数据均修改为非压缩的话,需要

SQL> alter table comp_demo move nocompress;
Table altered.


经且此种方式修改后如果原表有索引则需要重建索引。

修改表为压缩表。

SQL> alter table comp_demo compress;
Table altered.


3 1.3 确定表是否被压缩:确定一个表是否使用了压缩,查询user_tablescompression字段表明表是否被压缩。

SQL> select table_name,compression from user_tables where table_name not like 'BIN%';
SQL> select table_name,compression from user_tables where table_name not like 'BIN%';
TABLE_NAME               COMPRESS
------------------------------       --------
COMP_DEMO               ENABLED
TEST                        DISABLED
TEMP                       DISABLED
HELLO                            DISABLED
SALGRADE                   DISABLED
BONUS                           DISABLED
EMP                         DISABLED
DEPT                       DISABLED
8 rows selected.




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论