首页 > 数据库 >Oracle的Pctfree

Oracle的Pctfree

时间:2022-11-18 00:00:18浏览次数:47  
标签:Pctfree HWM 水位 student Oracle table 数据

1、创建一张表

create table student(
student_id number
);

但是在pl/sql中查看却是以下的建表语句:

-- Create table
create table STUDENT
(
  student_id NUMBER
)
tablespace SYSTEM
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255;

1)其中下面的几个参数是什么意思呢?

2)假如数据块是8k,但是真的全部都拿来存数据吗?

数据块的结构

1)块头
2)数据
3)空闲空间

高水位线概念

当表刚创建时,HWM明显位于这个表的第一个块中,当插入数据后,水位线会升高。
但当我们删除了一些数据后,甚至删除所有的数据。就会出现一种情况:许多块即使不包含了数据,但依然处于水位下下,而且会一直保持。
因为:HWM永远不会下降,除非使用rebuild、truncate或shrunk这个对象(shrunk是10g的新特性,仅ASSM支持)

ASSM:自动段存储管理

高水位线什么作用呢?

Oracle在全表扫描时会扫描HWM下所有块,即使其中不包含数据。
image

pctfree

1、为什么要留一些空间?
为了留给insert update等操作预留空间

标签:Pctfree,HWM,水位,student,Oracle,table,数据
From: https://www.cnblogs.com/su1999/p/16901862.html

相关文章

  • Oracle rman veeam plugin
     Veeambackupandreplication备份oracle数据库,通过调用rmanapi接口,简化了oracle数据库备份与恢复,这里主要介绍oracleforlinuxx64平台。   首先,在目标服......
  • Oracle 练习题 20131021 for 循环练习
    --Oracle练习题20131021for循环练习--1、用for循环实现一个倒置的乘法表。begin foriinreverse1..9loop  forjinrever......
  • Oracle plsql 计算日期间工作日天数
    declare v_fdatedate:=to_date('2013-10-4','yyyy-mm-dd'); v_ldatedate:=to_date('2013-10-22','yyyy-mm-dd'); v_interval_anumber;......
  • Oracle 练习P297 131026 PL/SQL块程序
    --1、编写一个PL/SQL块,输出所有员工的员工姓名,员工号、工资和部门号。begin forv_empin(select*fromemp)loop  dbms_output.put('员工......
  • Oracle plsqlI 练习 传值
    --根据人名查个人薪水和本部门平均薪水--select语句实现selecta.deptno "部门编号",    a.dname "部门名称",    a.......
  • Oracle plsql 月历
    declare v_yearnumber:=2013; v_monthnumber:=&input_month; v_daynumber; v_lastdaynumber;begin dbms_outp......
  • Oracle 练习题P256
    --根据Oracle数据库scott模式下的emp表和dept表,完成下列操作。--(1)查询20号部门的所有员工信息select*fromempwheredeptno=20;--(2)查询所......
  • Oracle 创建表 练习题
     a)      建立下列教学管理用的数据表。注意,表名和字段名都是英文。学生表(student)字段名称数据类型约束学号S_NOCHAR(6)主键姓名......
  • Oracle 练习作业10.1-1-2
    --一、现有学生表student,班级表classInfo,表结构如下:--student表:sid学号,sname姓名,sex性别,birthday生日,age入学年龄,smoney缴费,cid班级ID--classInfo表:班级编......
  • Oracle注册表修改 乱码编码
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0"NLS_LANG"值改为"SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"AMERICAN.AL32UTF8乱码更改o......