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

一种批量删除数据方法

这两天碰见一个比较紧急生产问题,由于还在处理中,所以暂时不能给出整体描述,但其中涉及一个问题就是删除一张大表中过期历史数据,针对不同类型表可能有不同解决方法,比如若是按照时间做分区表...删除历史数据可以使用存储过程,也可以一个程序来做,区别是存储过程是直接在数据库中操作,少了客户端和数据库交互环节,若是需要一些复杂校验逻辑,可能写程序要更方便一些,但也不是绝对,可能有人认为存储过程更好...这篇文章中(http://blog.csdn.net/xyjnzy/article/details/6194177)还介绍了另一种更精细方法,判断日志是否已经归档了,避免数据删除快于日志归档速度,如果发现尚未完成切换...针对我这个需求,一些可以改动地方,由于这张表是一个按照NUMBER值做hash哈希分区表,所以从效率上看,还可以精确至每个hash分区来做删除,这点是建荣给建议,另外例子中自治事务我觉得也是可以不用...总结一下, 1.如果使用存储过程,或许可以不用自治事务。 2.可以将partition作为另一个参数。

1.2K21

对于Oracle兼容,我们手拿把掐

国产当自强, 数据库自主可控破在眉睫 我们通过数据库几点重要性,可以意识到数据库自主可控重大意义: 基础软件“皇冠上明珠” 三大“卡脖子”技术大动脉 计算产业之“根” 大数据发展之“魂” 3...国产数据库该如何去O? Oracle兼容性是一个系统性工作,不能满足于简单SQL语法/语义兼容,主要有引擎、生态工具两个方面。...分区表能力 分区类型支持RANGE、LIST、HASH分区,以及这些类型组合分区 支持对分区单独访问,例如SELECT * FROM 表 PARTITION(子分区) 支持分区键更新 新增分区后,自动维护...PL/SQL - 自治事务 自治事务: 自治事务由主事务启动;自治事务运行时,主事务挂起 自治事务与启动它主事务相互独立 自治事务可以用在存储过程、函数、匿名块以及触发器中 如果自治事务与主事务产生锁冲突...兼容程度不明确,通过自动化覆盖评估迁移改造,平台化数据库对象和应用评估功能,全面完整迁移评估报告。 4.

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

数据架构选型必读:2021上半年数据库产品技术解析

此外,自治管理内存列存储还能够根据使用模式来自动执行列压缩。Oracle 21c提供全新内存矢量联接算法,加快了复杂查询速度。 自动化分片:数据分片功能不共享软硬件,可部署在本地或云端环境。.../pgSQL RETURN QUERY支持并行计算 刷新物化事务支持并行计算 4、内置sharding功能接口 postgres_fdw 持续增强 支持外部表异步并行计算 bulk insert 远程分区表分区可以...此外,该版本提高了单机分区数上限并支持了大事务,真正做到通过一套引擎解决混合负载原生分布式数据库产品。...子类可以覆盖此方法,以便压缩过滤器可以确定在压缩期间是否必须读取实际blob值。...3、冷热分级存储UDF 为方便用户为时序表建立分区、维护分区表、冷热数据转换,实现了关于创建分区模板、建立分区、替换冷热分区一整套管理接口。

87320

Greenplum性能优化之路 --(二)存储格式

分区压缩:在使用分区表时候,每个分区表可以设置不同压缩配置,这个常用于对数据进行冷热分离,比如对于非常老数据,由于访问频率较低,可以考虑采用较大压缩比,减少存储量。...blocksize不要设置过大,特别是对于分区表,GP对于每个分区每个字段都会维护一个buffer,blocksize过大,会导致消耗内存过大,通常就采用默认值32768即可。...混合存储 一张表是否可以同时使用多种存储方式呢?对于分区表,是可以。...混合存储一般用于这样场景,对于一张按时间分区表,通常对于不同时间点数据行为是不一样,比如对于最近数据,会有较多明细查询,而对于比较老数据,则是以分析为主。...混合存储关键就是使用到了GP交换分区语法,也就是将一张独立表与自己一个分区表进行交换,当然这里前提是新表结构是一样,并且交换过程没有新数据进入。

1.4K20

Greenplum性能优化之路 --(二)存储格式

分区压缩:在使用分区表时候,每个分区表可以设置不同压缩配置,这个常用于对数据进行冷热分离,比如对于非常老数据,由于访问频率较低,可以考虑采用较大压缩比,减少存储量。...blocksize不要设置过大,特别是对于分区表,GP对于每个分区每个字段都会维护一个buffer,blocksize过大,会导致消耗内存过大,通常就采用默认值32768即可。...混合存储 一张表是否可以同时使用多种存储方式呢?对于分区表,是可以。...混合存储一般用于这样场景,对于一张按时间分区表,通常对于不同时间点数据行为是不一样,比如对于最近数据,会有较多明细查询,而对于比较老数据,则是以分析为主。...混合存储关键就是使用到了GP交换分区语法,也就是将一张独立表与自己一个分区表进行交换,当然这里前提是新表结构是一样,并且交换过程没有新数据进入。

17.3K7041

从Oracle新特性看数据库发展

数据库智能管理 — “自治” Oracle最早在2017年提出了自治概念,其提出并倡导”Autonomous Database,100% Self-Driving”理念开创了数据库智能管理之先河。...解读 数据库架构是否灵活,满足用户各异需求,对数据库产品来说很重要。早前一些做法,更多是通过”中间件+数据库配合来完成。...当一个节点失效,转移到另外一个节点,在19c中Oracle持续改进和增强了连续性保持,数据库会自动记录会话状态,捕获用于重演信息,以便在切换时,在新节点自动恢复事务,使DML事务同样可以获得连续性支持...在线维护操作增强 在不同版本中, Oracle 持续增强在线维护操作, 例如在12.2 开始支持Online Move、在线修改普通表为分区表等特性。...混合分区表支持 在19c中,Oracle增强了分区特性,可以将外部对象存储上文件,以外部表方式链接到分区中,形成混合分区表,借助这个特性,Oracle将数据库内外整合打通,冷数据可以剥离到外部存储,

96310

PostgreSQL 分区表为什么要带 pg_pathman 过时了?

PostgreSQL 如果使用较早“大仙”们,在做分区时候会提pg_pathman,为什么一个数据库使用分区表还要一个插件,可能习惯商业数据库“人儿们”,不大理解。...通过截图我们可以看到建立一个range 分区也是很简单事情,分表给出分区键,初始值,间隔值(一个表能承载数据量或者间接值,生成数量,是否在建立分区过程中就开始从原表拷贝数据 如果对range...通过上面的截图,可以看到pathman_config 里面存储数据,我们目前是一个分区表并且是range分区。...通过上面的截图,可以看到pathman_config 里面存储数据,我们目前是一个分区表并且是range分区。...通过上面的截图,可以看到pathman_config 里面存储数据,我们目前是一个分区表并且是range分区

1.8K20

GreenPlum中数据库对象

可能会安装有多个单独Greenplum数据库系统,但是通常只会用环境变量设置选择其中一个一个Greenplum数据库系统中可以多个数据库。...要对一个外部表作为叶子子表分区表使用COPY命令,可以使用一个SQL查询来拷贝数据。...向分区表中载入数据最佳方法是创建一个中间状态表,把数据载入其中,然后把它交换到用户分区设计中。...例如,如果用户一个分区表,它按月被分成月度分全局并且对该表大部分查询值访问较新数据,用户可以把较旧、较少访问数据拷贝到外部表并且把较旧分区与这些外部表交换。...在越低级别的设置具有越高优先级: 子分区列压缩设置将覆盖分区、列和表级设置 分区列压缩设置将覆盖列和表级设置 列压缩设置将覆盖整个表级设置 注意:存储设置不可以被继承 检查压缩与分布情况

61720

GreenPlum分布式数据库存储及查询处理

Greenplum两种数据分布策略: Hash分布 当选择Hash分布策略时,可以指定表一列或者多列组合。...一张大表逻辑性地分成多个部分,如按照分区条件进行查询,将减少数据扫描范围,提高系统性能。提高对于特定类型数据查询速度和性能,更方便数据库维护和更新。 决定表分区策略: 表是否足够大?...大事实表适合做表分区。 对目前性能不满意?查询性能低于预期时再考虑分区。 查询条件是否能匹配分区条件?查询语句WHERE条件是否与考虑分区列一致 数据仓库是否需要滚动历史数据?...历史数据滚动需求也是分区设计考虑因素 按照某个规则数据是否可以被均匀分拆?尽量把数据均匀分拆规则 Greenplum数据库支持: 范围分区:基于一个数字型范围划分数据,例如按照日期或价格划分。...在越低级别的设置具有越高优先级: 子分区列压缩设置将覆盖分区、列和表级设置 分区列压缩设置将覆盖列和表级设置 列压缩设置将覆盖整个表级设置 注意:存储设置不可以被继承 create table

72530

Oracle 12.2新特性掌上手册 - 第三卷 Core Improvements

当使用STAGE_ITAB索引选项创建CONTEXT索引时,将创建一个$ G表,其中包含$ H btree索引。...2、Partitioning: Auto-List Partitioning(自动列表分区数据库会自动为表每个不同分区键值创建一个单独(新)分区。...介个好像听起来很神奇样子,是否很多人跟我一样第一次听说数据库还能实现这功能,一种被打脸感觉。 Oracle文本支持情感分析和搭配。 情绪分析提供与搜索词相关联积极和消极趋势识别。...只读分区和子分区启用对DML活动精细控制,这增强了分区表数据管理功能。...使用多个列来定义列表分区表分区标准,可使新类应用程序从分区中受益。

986120

greenplum gptransfer命令参数与示例详解

可以执行其中一个 以下类型操作: *使用--full选项复制Greenplum数据库系统。 此选项将源系统中所有用户创建数据库复制到 不同目标系统。...对于分区表,您可以指定--partition-transfer或 --partitiontransfer-non-partition-target选项,带-f选项进行复制 来自数据库分区表特定叶子分区...相同目标表可以 在文件中为多个源子分区表指定 属于单个分区表。从源叶传输数据分区表属于不同分区表到 不支持单个非分区表。...--truncate 指定此选项可截断目标中数据库是否已存在。 最多只能指定其中一个选项--skip-existing, --truncate,或--drop。...例如,一个名为“person_1_prt_experienced”分区表来自源系统数据库“srcdb”中模式“people”中: CREATE TABLE person(id int

1.8K20

技术分享 | 微服务架构数据库为什么喜欢分库分表?

因此,为了处理高并发,设计数据库可以采取分库方式进行,使得各个微服务拥有自己独立数据库,就好比订单微服务自治订单信息、支付流水信息、退款信息等等,当订单微服务需要会员微服务会员数据时,可以通过服务通讯机制...表分区是根据一定规则,把数据库一张表分解为多个更小表,使用分区表从逻辑上看还是一个表,但物理存储分为了多份,表分区每个部分,都可以独立进行数据处理,分区具有以下好处: 存储空间更大了 查询速度更快...两种分区形式都支持整数类型,日期类型,字符类型,区别在于,如果COLUMNS分区分区多个,当数据库要进行数据插入时,会先考虑第一个是否满足,如果满足条件就会进行数据写入,如果不满足条件就要对第二个键条件进行判断...子分区是对分区表每个区分,进行二次分区,使用RANGE和LIST对表进行分区,则可以使用HASH或KEY进行子分区,假设表2个分区,这2个分区又被进一步分为2个子分区,总共有4个分区,写法两种...4.总结 本文介绍了为什么微服务架构大多采用分库分表方式进行设计数据库,当然,分布式系统在设计过程中进行分库分表还需要注意一些问题,比如,在我们创建数据库时候是否可以先考虑表内数据特性,事先将一些不经常需要更改内容抽离出来

49720

TiDB 源码阅读系列文章(二十)Table Partition

从逻辑上看只有一张表,但是底层却是由多个物理分区组成。相信对有关系型数据库使用背景用户来说可能并不陌生。 TiDB 正在支持分区表这一特性。...程序读写时候操作还是逻辑表名字,TiDB 服务器自动去操作分区数据分区表什么好处? 优化器可以使用分区信息做分区裁剪。在语句中包含分区条件时,可以只扫描一个或多个分区表来提高查询效率。...解释下分区键,在分区表中用于计算这一行数据属于哪一个分区集合叫做分区键。分区键构成可能是一个字段或多个字段也可以是表达式。...如果删除了分区导致分区不能覆盖所有值,那么插入数据时候会报错。...如果 Partition Key 算出来是一个 NULL,对于不同 Partition 类型不同处理方式: 对于 Range Partition:该行数据被插入到最小那个 Partition

2K40

MySQL技能完整学习列表13、MySQL高级特性——1、分区表(Partitioning)——2、复制(Replication)——3、集群(Clustering)

1、分区表(Partitioning) 分区表是MySQL中一种将数据分散存储在多个物理子表中技术,但从逻辑上看,它们仍然被当作一个表来对待。...这种技术可以极大地提高大型数据库性能、管理和可维护性。 为什么使用分区表 性能提升:通过将数据分散到多个物理部分,查询可以并行处理,从而提高性能。...管理方便:可以独立地备份、恢复或优化某一个分区,而不影响其他分区数据归档:对于具有时间序列数据应用,可以使用分区表按日期归档数据。...RANGE分区示例 假设有一个销售记录表sales_records,其中一个sale_date列记录了销售日期。...2、复制(Replication) MySQL复制功能允许数据一个MySQL数据库服务器(称为主服务器或Master)复制到一个或多个MySQL数据库服务器(称为从服务器或Slave)。

14110

数据湖平台Apache Paimon(一)概述

(2)对于写入,它支持来自数据库变更日志(CDC)流式同步或来自离线数据批量插入/覆盖。...它使用方式与传统数据库没有什么区别: 在批处理执行模式下,它就像一个Hive表,支持Batch SQL各种操作。查询它以查看最新快照。 在流执行模式下,它作用就像一个消息队列。...分区是一种可选方法,可根据日期、城市和部门等特定列值将表划分为相关部分。每个表可以一个或多个分区键来标识特定分区。 通过分区,用户可以高效地操作表中一片记录。...如果定义了主键,则分区键必须是主键子集。 1.3.3 Bucket 未分区表分区表分区被细分为存储桶,以便为可用于更有效查询数据提供额外结构。 桶范围由记录中一列或多列哈希值确定。...对于任意两个同时修改表writer,只要他们不修改同一个存储桶,他们提交都是可序列化。如果他们修改同一个存储桶,则仅保证快照隔离。也就是说,最终表状态可能是两次提交混合,但不会丢失任何更改。

1.9K50

拿美团offer,Hive基础篇(持续更新中)

HIve:由 Facebook 开源用于解决海量结构化日志数据统计。 Hive 是基于 Hadoop 一个数据仓库工具,可以将结构化数据文件映射为一张表,并提供类 SQL查询功能。...对于 Hive String 类型相当于数据库 varchar 类型,该类型是一个可变字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储 2GB 字符数。 集合数据类型 ?...)> use db_hive; 4.删除数据库 1)删除空数据库 hive>drop database db_hive2; 2)如果删除数据库不存在,最好采用 if exists 判断数据库是否存在...(2)EXTERNAL 关键字可以让用户创建一个外部表,在建表同时指定一个指向实际数据路 径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向路径;若创建外部表, 仅记录数据所在路径...hive (default)> desc formatted student2; Table Type: MANAGED_TABLE 6.分区表 分区表实际上就是对应一个 HDFS 文件系统上独立文件夹

48330

MySQL 5.7 分区表性能下降案例分析

我们在测试环境,把数据库升级到5.7.18版本,验证MySQL 5.7.18版本是否符合我们预期。观察运行了一段时间,开发反馈,数据库性能比之前5.6.21版本下降。...主要表现特征是遇到比较多锁超时情况。开发另外反馈,性能下降相关表都是分区表。更新走都是主键。这个反馈引起了我们重视。我们做了如下尝试: 数据库版本为5.7.18, 保留分区表,性能会下降。...数据库版本为5.7.18,把表调整为非分区表,性能正常。 把数据库版本回退到5.6.21版本,保留分区表,性能也是正常 通过上述测试,我们大致判定,这个性能下降和MySQL 5.7版本升级有关。...问题重现 测试环境数据库表结构比较多,并且调用关系也比较复杂。为了进一步分析并定位问题,我们抽丝剥茧,构建了如下一个简单重现过程。...从代码中可以看出,每次单条记录update操作,在进行index scan上锁时,对分区表数目相同行数进行上锁。这个是根本原因。

61300

干货 | 一个MySQL 5.7 分区表性能下降案例分析

我们在测试环境,把数据库升级到5.7.18版本,验证MySQL 5.7.18版本是否符合我们预期。观察运行了一段时间,开发反馈,数据库性能比之前5.6.21版本下降。...主要表现特征是遇到比较多锁超时情况。开发另外反馈,性能下降相关表都是分区表。更新走都是主键。这个反馈引起了我们重视。我们做了如下尝试: 数据库版本为5.7.18, 保留分区表,性能会下降。...数据库版本为5.7.18,把表调整为非分区表,性能正常。 把数据库版本回退到5.6.21版本,保留分区表,性能也是正常 通过上述测试,我们大致判定,这个性能下降和MySQL5.7版本升级有关。...为了进一步分析并定位问题,我们抽丝剥茧,构建了如下一个简单重现过程 // 创建一个测试分区表t2: CREATE TABLE `t2`( `id` INT(11) NOT NULL, `dt...从代码中可以看出,每次单条记录update操作,在进行index scan上锁时,对分区表数目相同行数进行上锁。这个是根本原因。 ? 验证结论 ?

1.9K70

2022下半年盘点:20+主流数据库重大更新及技术要点汇总

,这造成了数据重复存储,现在通过混合方式,重建构建 source,部分数据可以来自列式doc_values,这会显著节约索引存储占用。...产品众多,竞争激烈,专用时序数据库混合时序特性传统关系型数据库,也有混合时序特性新型NOSQL数据库,有的强调存储空间压缩率,有的强调读写性能,有的是为了增强自身产品生态。...其中值得关注新特性: 1、查询更实时,所有数据可毫秒级访问 面向结构化数据,SequoiaDB v5.2版本提供深度Join优化及列存微分区技术,在多个查询场景下,性能达到了毫秒级实时返回;分析场景中...3、分区表性能提升 通过压缩等方式,极大降低了元数据体量,可以支持超大规模亿级别的分区表数目。...等版本,其中值得关注新特性/新功能/新改进/新修复: 1、Oracle兼容性:支持自定义数据类型,新增系统函数、系统视图以及高级包80+; 2、性价比:支持ECS混合部署、支持8U实例、ECS支持10GE

1.6K40

GPT概述

另外,GPT 分区磁盘多余主要及备份分区表来提高分区数据结构完整性。 在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统引导程序)。...在使用MBR/GPT混合分区表硬盘中,这部分存储了GPT分区表一部分分区(通常是前四个分区),可以使不支持从GPT启动操作系统从这个MBR启动,启动后只能操作MBR分区表分区。...在使用64位Windows Server 2003机器上,最多可以创建128个分区,即分区表中保留了128个项,其中每个都是128字节。...固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错,如果出错了,可以使用软件从硬盘最后备份GPT中恢复整个分区表,如果备份GPT也校验错误,硬盘将不可使用。...所以GPT 硬盘分区表可以直接使用16进制编辑器修改。 分区表格式如下 ? 主分区表和备份分区表头分别位于硬盘第二个扇区(LBA 1)以及硬盘最后一个扇区。

1.3K20
领券