首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将分区切换到外部表

是指将数据库中的分区数据移动到外部表中,以减少数据库的存储压力和提高查询性能。外部表是指在数据库中创建的一个虚拟表,它的数据实际上存储在外部存储系统中,如对象存储、分布式文件系统等。

分区是将数据库表按照某个特定的规则划分为多个逻辑部分,每个部分称为一个分区。分区可以根据时间、地理位置、业务属性等进行划分。通过将分区切换到外部表,可以将不常用的分区数据存储在外部存储系统中,只在需要时再加载到数据库中进行查询。

优势:

  1. 减少数据库的存储压力:将不常用的分区数据存储在外部存储系统中,可以减少数据库的存储空间占用,降低存储成本。
  2. 提高查询性能:外部表的数据存储在外部存储系统中,可以通过并行加载数据的方式提高数据加载速度,从而提高查询性能。
  3. 灵活管理数据:通过切换分区到外部表,可以方便地管理和维护分区数据,如备份、迁移、删除等操作。

应用场景:

  1. 大数据分析:对于大规模的数据分析任务,可以将历史数据划分为分区,并将不常用的分区数据切换到外部表中,以减少数据库的存储压力和提高查询性能。
  2. 数据归档:对于长期不再使用的数据,可以将其切换到外部表中进行归档存储,以释放数据库的存储空间。
  3. 数据备份和恢复:通过将分区切换到外部表,可以方便地进行数据备份和恢复操作,提高数据的安全性和可靠性。

推荐的腾讯云相关产品: 腾讯云对象存储(COS):腾讯云提供的高可靠、低成本的对象存储服务,可用于存储外部表的数据。详情请参考:https://cloud.tencent.com/product/cos

腾讯云数据传输服务(CTS):腾讯云提供的数据传输服务,可用于将分区数据从数据库传输到外部存储系统中。详情请参考:https://cloud.tencent.com/product/cts

腾讯云数据库(TencentDB):腾讯云提供的高性能、可扩展的数据库服务,支持分区表和外部表的管理和操作。详情请参考:https://cloud.tencent.com/product/cdb

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用exchange方式切换普通分区

有几种不同的方法来对此进行操作,诸如导出数据,然后创建分区再导入数据分区;使用EXCHANGE PARTITION方式来转换为分区以及使用DBMS_REDEFINITION来在线重定义分区。...:使用DBMS_REDEFINITION在线切换普通分区       有关分区的描述请参考:Oracle 分区 1、主要步骤     a、为新的分区准备相应的空间     b、基于源元数据创建分区以及相关索引...、约束等     c、使用exchange方式普通切换分区     d、更正相关索引及约束名等(可省略)     e、使用split根据需要将分区分割为多个不同的分区     f、收集统计信息...:new.created_date := TO_CHAR (SYSDATE, 'yyyymmdd hh24:mi:ss'); END tr_bf_big_table2; / 4、使用exchange切换分区...--下面的这个命令就是通过exchange方式来直接普通切换分区 ALTER TABLE big_table2 EXCHANGE PARTITION big_table_2014 WITH

58710

使用DBMS_REDEFINITION在线切换普通分区

随着数据库数据量的不断增长,有些需要由普通的堆转换为分区的模式。...有几种不同的方法来对此进行操作,诸如导出数据,然后创建分区再导入数据分区;使用EXCHANGE PARTITION方式来转换为分区以及使用DBMS_REDEFINITION来在线重定义分区。...有关具体的dbms_redefinition在线重定义的原理及步骤可参考:基于 dbms_redefinition 在线重定义       有关分区的描述请参考:Oracle 分区 1、准备环境...description) VALUES (2, 'TWO'); INSERT INTO lookup (id, description) VALUES (3, 'THREE'); COMMIT; --创建一个用于切换分区的大.../YYYY')) tablespace tbs2, PARTITION big_table_2014 VALUES LESS THAN (MAXVALUE) tablespace tbs3); 2、切换普通分区

39420
  • 使用导出导入(datapump)方式普通切换分区

    有几种不同的方法来对此进行操作,诸如导出数据,然后创建分区再导入数据分区;使用EXCHANGE PARTITION方式来转换为分区以及使用DBMS_REDEFINITION来在线重定义分区。...:使用DBMS_REDEFINITION在线切换普通分区       有关使用使用exchange方式可参考:使用exchange方式切换普通分区       有关分区的描述请参考:Oracle...方式导出原数据然后再导入分区     d、收集统计信息,验证结果,为分区添加索引约束等 2、准备环境 --创建用户 SQL> create user leshami identified by...description) VALUES (2, 'TWO'); INSERT INTO lookup (id, description) VALUES (3, 'THREE'); COMMIT; --创建一个用于切换分区的大...其次,该种切换分区的方式简单易用,但难以保证数据一致性,通常使用在可空闲的对象上进行操作。

    92410

    SQL server 2005 切换分区

    一、分区切换无外乎以下三种形式: 1.一个分区中的数据切换成单个。 2.作为分区切换到已分区中。 3.分区从一个已分区切换到另一个已分区。...,必须创建所需的目标,目标可以为单个(用于分区切换到单个),也可以为已分区(用于分区之间的切换)。...四、以下演示切换分区使用的数据库和,使用SQL server 2005自带的数据库AdventureWorks中的Sales.SalesOrderHeader来创建分区,考虑太多的参照和约束关系...------------ --作为分区切换到已分区中 --------------------------------------------------------------------...PARTITION 4; GO ------------------------------------------------------------------------------- --分区从一个已分区切换到另一个已分区

    69630

    Hive应用:外部分区

    介绍 Hive可以创建外部分区。创建的时候,分区要在建表语句中体现。建完之后,你不会在中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示。 样例 有如下的目录结构。...row format delimited fields terminated by '\t' location 'hdfs://hadoop01:9000/data/tbl_custom';     创建的时候...,只创建tbl_custom这一层目录,余下的一层目录使用分区表示,如果余下的有两层目录,那么可以使用两个分区,目录层级以此类推。...这个外部创建好之后,使用查询语句,是看不到数据的,需要给这个添加分区内容,才能看到具体的信息,如下: alter table Tbl_Custom add partition(city='beijing...,这两个目录下的数据就可以在一张中查看了,这个方法很适用于合并数据。

    91630

    六、Hive中的内部外部分区和分桶

    在Hive数据仓库中,重要点就是Hive中的四个。Hive 中的分为内部外部分区和分桶。 内部 默认创建的都是所谓的内部,有时也被称为管理。...外部称之为EXTERNAL_TABLE;其实就是,在创建时可以自己指定目录位置(LOCATION);如果删除外部时,只会删除元数据不会删除数据; 具体的外部创建命令,比内部多一个LOCATION...在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的查询效率会提高很多。 具体的分区创建命令如下,比外部多一个PARTITIONED。...data 的,基本是乱来的。...根据上面命令,成功创建了内部外部分区和分桶

    1.8K40

    SQL Server分区(六):分区转换成普通

    今天是我们SQL Server分区的最后一篇,分区转换成普通。 正文 在前面,我们介绍过怎么样直接创建一个分区,也介绍过怎么一个普通转换成一个分区。...第二个名Sale1,这个使用的是《SQL Server 2005中的分区(三):普通转换成分区 》中的方法创建的,也就是先创建了一个普通,然后通过为普通添加聚集索引的方式普通转换成已分区的方式...对于Sale来说,可以通过修改分区函数的方式来将其转换成普通,具体的修改方式请看《SQL Server 2005中的分区(四):删除(合并)一个分区》,事实上,就是分区函数中的所有分区分界都删除...对于通过创建分区索引的方法普通转换成的分区而言,除了上面的方法之外,还可以通过删除分区索引的办法来分区转换成普通。...当然,以上两个步骤也可以合成一步完成,也就是在重建索引的同时,原索引删除。

    1.2K20

    SQL Server分区(三):普通转换成分区

    今天我们来看看普通转换为分区。 正文 在设计数据库时,经常没有考虑分区的问题,往往在数据承重的负担越来越重时,才会考虑分区方式,这时,就涉及如何普通转换成分区的问题了。...那么,如何一个普通转换成一个分区 呢?说到底,只要将该创建一个聚集索引,并在聚集索引上使用分区方案即可。 不过,这回说起来简单,做起来就复杂了一点。...还是接着上面的例子,我们先使用以下SQL语句原有的Sale删除。 --删除原来的数据 drop table Sale 然后使用以下SQL语句创建一个新的普通,并在这个表里插入一些数据。...因此,要想将普通转换成分区,就必须要先删除聚集索引,然后再创建一个新的聚集索引,在该聚集索引中使用分区方案。...$PARTITION.partfunSale(SaleTime) 以上代码的运行结果如下所示,说明在普通转换成分区之后,数据不但没有丢失,而且还自动地放在了它应在的分区中了。

    1.1K31

    【动手实践】Oracle 12.2新特性:多列列表分区外部分区

    在Oracle 12.2版本中,增加了大量的分区新特性,这其中包括: 自动的列表分区创建 在线的普通转换分区 支持只读分区和读写分区混合 以下介绍的三个特性同样是12.2新增的: 多列列表分区外部分区...、维护过滤 而对于多列列表分区的支持,也是大家关注已久的特性,先看一下脚本(在 livesql.oracle.com 测试执行,推荐动手实践): CREATE TABLE dba_by_db_in_yhem...,最多支持16个列值定义,这极大的丰富了列表分区的适用场景。...为了简化维护操作,12.2 增加了维护过滤特性 - Filtered Partition on Maintenance Operations,也就是说,在执行分区的Move、Split和Merge等操作时...在12.2中,Oracle还支持外部分区,类似如下的语法展示了这一特性的用途,对于一个统一的外部,可以通过分区指向不同的外部文件,不同文件可以用于存储已经分类的数据,从而更加灵活的使用外部: CREATE

    1K50

    用DBMS_REDEFINITION普通转换为分区

    DBMS_REDEFINITION简介 要将普通转换为分区,Oracle官方给出四种方案: 导入/导出; insert … select …; 交换分区法; 在线重定义(DBMS_REDEFINITION...这些方案的思路都是创建一个新的分区,然后把旧表的数据转移到新上面,接着转移相应的依赖关系,最后进行的重命名,把新和旧表rename。...与前三种方案相比,DBMS_REDEFINITION几乎不影响旧表的正常使用,因此也逐渐成为目前普遍使用的转换分区的方案。...以下以项目中某个大TP_CARD_INFO(约1200万条记录)为例,说明将普通转换为分区的操作步骤。 2....创建分区 按主键分区,每个分区不超过200万条记录: create table TP_CARD_INFO_PART (   id              NUMBER(15) not null,

    46120

    hive的数据存储(元数据,数据)和内部外部分区的创建和区别作用

    然后把本地的文本文件使用hive命令格式化导入中,这样这些数据就存放到hdfs中,而不是在mysql或hive中。...然后, 1、在导入数据到外部,数据并没有移动到自己的数据仓库目录下(如果指定了location的话),也就是说外部中的数据并不是由它自己来管理的!...而内部则不一样; 2、在删除内部的时候,Hive将会把属于的元数据和数据全部删掉;而删除外部的时候,Hive仅仅删除外部的元数据,数据是不会删除的! 3....在创建内部外部时加上location 的效果是一样的,只不过目录的位置不同而已,加上partition用法也一样,只不过目录下会有分区目录而已,load data local inpath直接把本地文件系统的数据上传到...但是作为一个经验,如果所有处理都需要由Hive完成,那么你应该创建,否则使用外部

    1.5K20

    SparkDataframe数据写入Hive分区的方案

    欢迎您关注《大数据成神之路》 DataFrame 数据写入hive中时,默认的是hive默认数据库,insert into没有指定数据库的参数,数据写入hive或者hive分区中: 1、DataFrame...数据写入hive中 从DataFrame类中可以看到与hive有关的写入API有一下几个: registerTempTable(tableName:String):Unit, inserInto(...2、DataFrame数据写入hive指定数据分区中 hive数据建立可以在hive上建立,或者使用hiveContext.sql("create table....")...,使用saveAsTable时数据存储格式有限,默认格式为parquet,数据写入分区的思路是:首先将DataFrame数据写入临时,之后由hiveContext.sql语句数据写入hive分区中...: hive分区:是指在创建时指定的partition的分区空间,若需要创建有分区,需要在create的时候调用可选参数partitioned by。

    16.1K30

    把本地的文件数据导入Hive分区--系列①Java代码

    本篇博客,小菌为大家带来关于如何本地的多个文件导入Hive分区中对应的分区上的方法。一共有四种方法,本篇介绍第一种—Java代码。...首先编写代码,通过MapReduce处理好的数据写入HDFS的目录下。下面提供一种参考!...接下来我们需要做的,就是把HDFS上的多个文件通过Java写入Hive的分区。...sshExec.disconnect(); hdfs.close(); } } 通过在LoadData 类中设置命令之后,然后执行Java程序执行命令,就可以做到用Java代码实现在linux中从外部文件导入分区的操作...导入成功后的在HDFS,可以通过目录结构查看分区后的详细情况! ? ? ? 这里我们就实现了通过Java代码把本地的文件数据导入Hive的分区中的操作!

    1.2K20

    使用外部关联MySQL数据Oracle(r6笔记第100天)

    因为业务需要,有个临时的活动需要DBA来支持一些数据业务,问题来了,需要从MySQL端同步一部分数据Oracle端,然后从Oracle端匹配查 相应的数据返回给MySQL,至于原因,也是不同的业务系统...首先开发部门提供需要的uid(1),然后MySQL端抽取后把文件同步Oracle端(2),然后在Oracle端进行关联查询,得到一个uid和cn_number的组合(3),然后同步MySQL端, 最后...,但是每次都去更新的数据还是有些繁琐,一个方便的办法就是外部了。...但是创建外部的时候老师抛错,最后发现uid是保留字,用下面的例子来验证。...关于保留字可以通过下面的方式来查询 SQL> select * from v$reserved_words where keyword='UID'; 外部加载了之后,关联的时候发现竟然没有匹配的数据,

    1.2K40
    领券