首页 > 其他分享 >标记未使用的列

标记未使用的列

时间:2022-10-05 18:23:06浏览次数:48  
标签:语句 删除 标记 DROP UNUSED 使用 TABLE ALTER

如果您担心从大表中的所有行中删除列数据所需的时间长度,您可以使用该ALTER TABLE...SET UNUSED语句。

该语句将一个或多个列标记为未使用,但实际上并未删除目标列数据或恢复这些列占用的磁盘空间。但是,标记为未使用的列不会显示在查询或数据字典视图中,并且会删除其名称,以便新列可以重用该名称。在大多数情况下,列上定义的约束、索引和统计信息也会被删除。例外是标记为未使用的 LOB 列的任何内部索引都不会被删除。

 

要将hiredatemgr列标记为未使用,请执行以下语句:

ALTER TABLE hr.admin_emp SET UNUSED (hiredate, mgr);

您可以稍后通过发出ALTER TABLE...DROP UNUSED COLUMNS语句删除标记为未使用的列。每当显式删除表的任何特定列或列时,也会从目标表中删除未使用的列。

数据字典视图USER_UNUSED_COL_TABS,ALL_UNUSED_COL_TABSDBA_UNUSED_COL_TABS可用于列出所有包含未使用列的表。该COUNT字段显示表中未使用的列数。

SELECT * FROM DBA_UNUSED_COL_TABS;

OWNER                       TABLE_NAME                  COUNT
--------------------------- --------------------------- -----
HR                          ADMIN_EMP                       2

对于外部表,SET UNUSED语句被透明地转换为ALTER TABLE DROP COLUMN语句。因为外部表仅由数据库中的元数据组成,所以DROP COLUMN语句的执行与SET UNUSED语句的执行等效。

Removing Unused Columns

ALTER TABLE...DROP UNUSED COLUMNS语句是唯一允许对未使用的列执行的操作。它从表中物理删除未使用的列并回收磁盘空间。

在随后的ALTER TABLE语句中,CHECKPOINT指定了可选子句。此子句导致在处理指定的行数后应用检查点,在本例中为 250。检查点减少了删除列操作期间累积的撤消日志量,以避免潜在的撤消空间耗尽。

ALTER TABLE hr.admin_emp DROP UNUSED COLUMNS CHECKPOINT 250;

如果对表启用高级行压缩,则可以删除表列。如果仅启用基本表压缩,则不能删除列。

 

标签:语句,删除,标记,DROP,UNUSED,使用,TABLE,ALTER
From: https://www.cnblogs.com/wonchaofan/p/16756069.html

相关文章

  • 11_使用SDL播放WAV
    使用命令播放WAV对于WAV文件来说,可以直接使用ffplay命令播放,而且不用像PCM那样增加额外的参数。因为WAV的文件头中已经包含了相关的音频参数信息。ffplayin.wav接下来......
  • 746.min-cost-climbing-stairs 使用最小花费爬楼梯
    题目描述746.使用最小花费爬楼梯解题思路相当于爬楼梯的进阶版,递推关系变复杂了一些,但本质没有变。\(a_n=min(a_{n-1}+cost[i-1],a_{n-2}+cost[i-2])\)......
  • Vue2 下 Echarts的使用
    Vue2下Echarts的使用1、安装组件npminstallechartsvue-echarts--save2、使用2.1、配置为全局组件方式全局配置为公有组件//main.jsimport"echarts"import......
  • k8s使用Sidecar方式采集日志
    1、创建configmapvimlogstash-cm.yamlapiVersion:v1kind:ConfigMapmetadata:name:logstashconf-consulnamespace:fat-sdata:logstash.conf:|-in......
  • 使用socat代理socket
    1、安装yuminstall-ysocat2、转发TCPnohupsocatTCP4-LISTEN:30000,reuseaddr,forkTCP4:192.145.30.8:10000>>socat.log2>&1&3、转发UDPnohupsocat......
  • WPF-UI框架MahApps.Metro使用教程
    一,MahApps.Metro安装1,项目中引用“MahApps.Metro.dll”【失败】我是在网上下载了一个dll,不知道是不是版本问题,使用时一直报错2,在NuGet中安装最新版本的dll右击项目-->......
  • Git小乌龟的安装及使用
    https://www.jianshu.com/p/33108325fc871安装git2安装TortoiseGit和语言包3github官网,代码托管4代码开发流程 1切换到master分支 2获取master分支最新代码 3创建子分支 4......
  • 网页录像录音功能的实现之MediaRecorder的使用
    前面介绍了通过H5实现在网页内打开摄像头和麦克风,实现截图和图像预览的相关知识。getUserMediaAPI及HTML5调用摄像头和麦克风一个简单的demo 实现摄像头的调用及视频录......
  • 使用npm安装一些包失败了的看过来(npm国内镜像介绍)
    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):1.通过config命令npmconfigset://registry.npm.taobao.org(如果上面配置正确这......
  • (新人)关于我是如何使用Jeesite框架的
    第一步由于jeesite官网的源码包是在码云上的,所以咱们下载之前必须拥有自己的码云账号并且登录。第二步登录码云账号后,我们通过此链接https://jeesite.com/来到jeesite官......