• 2024-04-03KingbaseES删除重复数据的方法
    前言Oracle数据库去除重复数据方法一般根据rowid进行去重,KingbaseES数据库如何去重呢?可以根据ctid去重。我们使用大数据量测试,因为一般生产环境数据量还是蛮大的。测试创建一张测试表,并插入一定量的重复数据,数据量21万,其中重复数据1万。createtabledel(idint,namevarcha
  • 2024-01-14python二分法查找
    比如要在列表arr中查找xdeff(arr,x):left=0right=len(arr)whileleft<right:mid=(left+right)//2ifmid<x:left=midelifmid>x:right=midelse:returnmid
  • 2023-11-03PostgreSQL坏块问题
    问题概述应用在做查询操作时报错ERROR:invalidmemoryallocrequestsize18446744073709551613问题原因数据中有物理坏块解决方案删除损坏的行1.创建扩展createextensionhstore;2.创建functionCREATEORREPLACEFUNCTIONfind_bad_row(tableNameTEXT)RETURNStidas
  • 2023-08-03postgresql 常用的删除重复数据方法
    一、最高效方法测试环境验证,6600万行大表,删除2200万重复数据仅需3分钟deletefromdeltestawherea.ctid=any(array(selectctidfrom(selectrow_number()over(partitionbyid),ctidfromdeltest)twheret.row_number>1)); --family_no相同的数据,保留i
  • 2023-05-06PostgreSQL数据块损坏一例
           PostgreSQL数据块损坏一例原创七月流火紧到说2022-07-0609:00发表于四川背景数据库备份报错ERROR:invalidmemoryallocrequestsize18446744073709551613这种问题可以首先想到使用zero_damaged_pages自动修复,但遗憾的是并没有效果,这种方法
  • 2023-04-18pg事务篇(一)—— 事务与多版本并发控制MVCC
    一、MVCC常用实现方法一般MVCC有2种实现方法:写新数据时,把旧数据快照存入其他位置(如oracle的回滚段、sqlserver的tempdb)。当读数据时,读的是快照的旧数据。写新数据时,旧数据不删除,直接插入新数据。PostgreSQL就是使用的这种实现方法。1.PostgreSQL的MVCC实现方式优缺点优点无论事务
  • 2023-02-28KingbaseES 中的xmin,xmax等系统字段说明
    在KingbaseES中,当我们创建一个数据表时,数据库会隐式增加几个系统字段。这些字段由系统进行维护,用户一般不会感知它们的存在。例如,以下语句创建了一个简单的表:createtabl
  • 2023-02-22postgresql 常用的删除重复数据方法
    一、最高效方法测试环境验证,6600万行大表,删除2200万重复数据仅需3分钟deletefromdeltestawherea.ctid=any(array(selectctidfrom(selectrow_number()over
  • 2023-01-22数据库损坏指南(2)--B-Tree Index损坏
    在理解PostgreSQL索引损坏之前,要理解PostgreSQL是如何实现b-tree索引的。B-tree索引结构PostgreSQL中,B-tree索引结构是根据Lehman和Yao的高并发B-tree算法实现的。逻辑上
  • 2022-11-19PostgreSQL里TID(对应于oracle里的rowid)
    Toidentifyatuplewithinthetable,tupleidentifier(TID)isinternallyused.ATIDcomprisesapairofvalues:theblocknumberofthepagethatcontainst
  • 2022-09-02PostgreSQL-系统列
    每个表都有几个由系统隐式定义的系统列。因此,这些名称不能用作用户定义列的名称。(请注意,这些限制与名称是否是关键字是分开的;引用名称不会让您逃避这些限制。)您实际上不需