oracle - 存储没有时间的日期会使用更少的字节吗?

oracle - 存储没有时间的日期会使用更少的字节吗?

如果您使用表压缩,仅存储日期可能会节省空间。

这是一个示例,显示仅存储日期可以减小段大小:

create table a (dt date) compress;

create table b (dt date) compress;

--Insert 20 million rows, with time

begin

for i in 1 .. 20 loop

insert /*+ append */ into a

select sysdate + numToDSInterval(level, 'second')

from dual connect by level <= 1000000;

commit;

end loop;

end;

/

--Insert 20 million rows, date only

begin

for i in 1 .. 20 loop

insert /*+ append */ into b

select trunc(sysdate + numToDSInterval(level, 'second'))

from dual connect by level <= 1000000;

commit;

end loop;

end;

/

select segment_name, bytes/1024/1024 MB

from dba_segments

where segment_name in ('A', 'B')

order by segment_name;

SEGMENT_NAME MB

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

A 256

B 224

Oracle 基本表压缩仅压缩整个值,如果不同的值较少,则压缩可以更好地工作。但永远不要完全相信任何压缩演示——您需要在自己的数据上进行尝试才能确定。这可能是最好的情况,压缩可能根本不会帮助您的数据。

表压缩有很多缺点 - 它需要企业版,DML 速度较慢,您无法向表中添加列等。

此外,正如 Ben 所建议的,您应该使用检查约束而不是触发器来强制执行仅日期规则。它将更简单、更快,并且不会阻止直接路径写入,这是使用基本表压缩所必需的。

相关推荐

你的机票包含哪些费用?估算机票成本只要一步!
365bet赌城投注

你的机票包含哪些费用?估算机票成本只要一步!

📅 07-05 👁️ 3411
闞清子「在海邊」被求婚了! 網翻5年前紀凌塵分手金句…神呼應
如何在wps表格中使用筛选颜色功能(WPS表格如何同时筛选多种颜色)
蓝牙耳机充电多久与充电注意事项详解
完美365体育ios下载

蓝牙耳机充电多久与充电注意事项详解

📅 06-29 👁️ 4953
饮料种类名称大全图片及名字,收集所有的饮料名字
完美365体育ios下载

饮料种类名称大全图片及名字,收集所有的饮料名字

📅 07-10 👁️ 7260
网上销量前十的充气娃娃产品榜 精选热销仿真娃娃商品推荐