当前位置: 首页 > news >正文

Oracle分区表常见操作

  Oracle分区表常用于业务中大表使用,如历史交易记录表等,提高表记录查询效率。本文主要描述范围分区表的创建、新增以及索引创建。

Oracle操作分区表相关信息

显示数据库所有分区表的信息:DBA_PART_TABLES
SQL> select owner,table_name,partitioning_type,partition_count,partitioning_key_count,status from dba_part_tables; 显示当前用户可访问的所有分区表信息:ALL_PART_TABLES 显示当前用户所有分区表的信息:USER_PART_TABLES 显示表分区信息 显示数据库所有分区表的详细分区信息:DBA_TAB_PARTITIONS 显示当前用户可访问的所有分区表的详细分区信息:ALL_TAB_PARTITIONS 显示当前用户所有分区表的详细分区信息:USER_TAB_PARTITIONS 显示子分区信息 显示数据库所有组合分区表的子分区信息:DBA_TAB_SUBPARTITIONS 显示当前用户可访问的所有组合分区表的子分区信息:ALL_TAB_SUBPARTITIONS 显示当前用户所有组合分区表的子分区信息:USER_TAB_SUBPARTITIONS 显示分区列 显示数据库所有分区表的分区列信息:DBA_PART_KEY_COLUMNS 显示当前用户可访问的所有分区表的分区列信息:ALL_PART_KEY_COLUMNS 显示当前用户所有分区表的分区列信息:USER_PART_KEY_COLUMNS 显示子分区列 显示数据库所有分区表的子分区列信息:DBA_SUBPART_KEY_COLUMNS 显示当前用户可访问的所有分区表的子分区列信息:ALL_SUBPART_KEY_COLUMNS 显示当前用户所有分区表的子分区列信息:USER_SUBPART_KEY_COLUMNS

1、分区表创建

CREATE TABLE range_example(
     range_key_column DATE,
     DATA VARCHAR2(20),
     ID integer
 ) PARTITION BY RANGE(range_key_column)
 (
     PARTITION part_20171101 VALUES LESS THAN (TO_DATE('2017-11-01 00:00:00','yyyy-mm-dd hh24:mi:ss')),
     PARTITION part_20171102 VALUES LESS THAN (TO_DATE('2017-11-02 00:00:00','yyyy-mm-dd hh24:mi:ss')),
     PARTITION part_20171103 VALUES LESS THAN (TO_DATE('2017-11-03 00:00:00','yyyy-mm-dd hh24:mi:ss'))
);

说明:如果是已创建的分区表,可以通过PL/SQL查看分区表创建语句。判断分区表类型。

2、新增分区表

ALTER TABLE range_example ADD PARTITION part_20171101 VALUES LESS THAN (TO_DATE('2017-11-01 00:00:00','yyyy-mm-dd hh24:mi:ss'));

3、删除分区表

ALTER TABLE range_example DROP PARTITION part_20171103;

 4、查看分区表记录数

1,先生成各个分区的查询语句:
select 'select count(*) from TABLENAME partition('||partition_name||');' from (select * from user_tab_partitions where table_name='TABLENAME');
2,然后:
select (select count(*) from TABLENAME partition(PART1)) p1,
(select count(*) from TABLENAME partition(PART2)) p2,
(select count(*) from TABLENAME partition(PART3)) p3,
(select count(*) from TABLENAME partition(PART4)) p4,
(select count(*) from TABLENAME partition(PART5)) p5,
(select count(*) from TABLENAME partition(PART6)) p6,
(select count(*) from TABLENAME partition(PART7)) p7,
(select count(*) from TABLENAME partition(PART8)) p8,
(select count(*) from TABLENAME partition(PART9)) p9,
(select count(*) from TABLENAME partition(PART10)) p10
from dual;

 

转载于:https://www.cnblogs.com/linyfeng/p/7776382.html

相关文章:

  • shell设置时间递减脚本
  • linux网络流控-htb算法简析
  • Xpath语法
  • Java 基础知识
  • javaWeb中怎么获取提交表单里面的值
  • 阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集【转】
  • 《C程序设计语言》笔记 (二)类型运算符与表达式
  • 怎么在页面中引入外部模板
  • django--权限管理day1
  • Alpha 冲刺 (7/10)
  • 找零问题
  • 自动化java+webdriver常用的一些脚本
  • 一些 Ubuntu 使用的小技巧
  • java 单点登录机制
  • 最长上升子序列nlogn算法
  • 《剑指offer》分解让复杂问题更简单
  • 《深入 React 技术栈》
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Android 控件背景颜色处理
  • Consul Config 使用Git做版本控制的实现
  • Cumulo 的 ClojureScript 模块已经成型
  • idea + plantuml 画流程图
  • iOS 系统授权开发
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Java编程基础24——递归练习
  • magento2项目上线注意事项
  • nginx 配置多 域名 + 多 https
  • Node + FFmpeg 实现Canvas动画导出视频
  • 初识 webpack
  • 机器学习学习笔记一
  • 基于web的全景—— Pannellum小试
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端工程化(Gulp、Webpack)-webpack
  • 浅谈Golang中select的用法
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 如何用vue打造一个移动端音乐播放器
  • 使用parted解决大于2T的磁盘分区
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 数组的操作
  • 算法-图和图算法
  • 通过几道题目学习二叉搜索树
  • 新版博客前端前瞻
  • 白色的风信子
  • 《码出高效》学习笔记与书中错误记录
  • python最赚钱的4个方向,你最心动的是哪个?
  • scrapy中间件源码分析及常用中间件大全
  • #WEB前端(HTML属性)
  • #微信小程序:微信小程序常见的配置传值
  • (3)nginx 配置(nginx.conf)
  • (二)pulsar安装在独立的docker中,python测试
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (四)汇编语言——简单程序
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite