只有库文件,如何恢复有全文索引的表--上 只有库文件,如何恢复有全文索引的表–上 1、环境准备 这是测试准备的环境,如果是独立恢复,那么只有某一个数据库的目录. 1.1、表结构 [root@mydb db01]# mysql -e 'show create table db01.t1\G' 1. row Ta 数据运维 2024-07-18 向阳逐梦
如何在 Doris 中通过外表访问 OceanBase 的表 折腾了一番,记录如下: 在OceanBase 中建立了一张表 test.t1: CREATE TABLE t1 ( apply_id varchar(500) DEFAULT NULL, apply_dt date DEFAULT NULL, mobile_prov_nm varchar(500) DEFAULT NULL, mobile_city_nm varchar(500 数据运维 2024-06-17 宇宙之一粟
一个热点问题的基本分析 前言 在另一篇《一个慢查询的基本分析》中仍遗留有一个问题, 即各个tikv主机之间出现交替的cpu波动(下图中), 是什么原因, 这在本篇中加以分析。 一、查看tikv图 tikv-1在08:53左右cpu下降, tikv-2在08:54左右cpu上升 初步判断,可能是有一些热点region,从tikv-1转到了tikv-2上,所以导致cpu消耗的迁移。 二、查找热点迁移的证据 在上一篇中已经定位 数据运维 2024-06-12 贤蛋大眼萌
关于ptarchiver使用的注意事项 关于Percona Toolkit 的安装和使用,大家可以看这个链接。 https://greatsql.cn/blog-10-1492.html 但在使用pt-archiver时,有个细节大家要注意。就是在要求实例源表要创建有索引或主键,目的表结构要与源表完全相同。 create table t1 as select * from t where 1=2 pt-archiver --source 数据运维 2024-05-30 LOVEHL^ˇ^
Oceanbase查询改写:半连接转内连接 概述 当查询语句中存在半连接(semi join)时,由于半连接不满足交换律,因此只能按照语句定义的顺序进行连接,使得优化器无法根据参与连接的表的实际大小制定最优的方案。为此,Oceanbase中定义了半连接转内连接规则,能够将满足条件的半连接转为内连接,为优化器进一步优化提供了基础。 基本原理 考虑如下情况: SELECT * FROM t1 SEMI JOIN t2 on t1.c1 = t2 数据运维 2024-05-07 宇宙之一粟
Oceanbase查询改写:外连接转内连接 概述 与内连接不同,外连接不满足交换律结合律,因此在查询优化阶段不能根据实际数据表的大小选择最优的连接顺序。为此,Oceanbase中定义了外连接转内连接规则,能够将满足条件的外连接转为内连接,为优化器进一步优化提供了基础。 基本原理 外连接转内连接规则主要包含对以下两种情况的处理: 存在空值拒绝条件:当where条件中存在内表列的空值拒绝条件时,可以将外连接改写为内连接。 存在主外键参照:当外表 数据运维 2024-05-07 大猫
Oceanbase查询改写:groupby移动 概述 当查询语句中同时存在连接操作和分组聚合操作时,可能会产生大量的io。为此,Oceanbase中定义了groupby移动规则,能够对满足条件的分组聚合操作进行提升或下推,提升查询性能。 基本原理 groupby移动规则主要包含对以下两种情况的处理: groupby下推:当分组聚合操作位于连接操作之后时,可以将其进行下推,从而通过提前聚合减少连接阶段的数据量。 groupby提升:当分组聚合操作 数据运维 2024-05-07 Escape
找到A不存在于B的记录,not in, except ,not exists ,left join + is null 大比拼 前言 大家好,今天的主题是。我们来比较一下TiDB 中的各种写法和执行计划,基于6.5.x版本。 首先创建2张表,t1 这张表 5000 行,t2这张表 30000 行,然后在t2中删除三条在 5000 行之前的记录。 create table t1 (id1 int); create table t2 (id1 int); insert into t1 WITH RECURSIVE t3 ( 数据运维 2024-05-07 宇宙之一粟
oracle 144000 Oracle 144000是一个很特别的数字,它在Oracle数据库中有着非常重要的作用。该数字被称作是Oracle中的“最大错误码”,在处理一些异常情况时,当Oracle无法确定具体错误原因时,就会返回这个错误码。 举个例子,当一个查询语句执行失败时,Oracle会给出一个错误码以及错误信息。如果错误码是144000,那么通常是由于查询语句中有复杂的逻辑或者涉及到了多个表的联合查询,导致Orac 数据运维 2024-03-25 捡田螺的小男孩
一则唯一索引并发insert死锁 数据准备 为了观察死锁发送具体过程,关闭死锁检测 set global innodb_deadlock_detect='OFF'; 数据运维 2024-03-23 剑圣无痕
百度“资深研发工程师”的收入证明 近日坊间正在传一张图片,据说是在百度工作十年的某员工在2024年的收入证明。可以看到,基本包年入70万,加上股票年收入快100万,占收入一半以上,总包年入170多万。此君的Title是“资深研发工程师”,是2014年5月加入的百度。有消息灵通人士猜测,‘叫这个title的,基本在T6左右,撑死T7,因为到T8就可以不用走评审直接内部转管理岗的m2a了,稍微走个评级流程就可以转m2b,title就是 运维资讯 2024-03-17 LOVEHL^ˇ^
没想到,JDBC 驱动会偷偷修改 sql_mode 的会话值 最近碰到一个 case,值得分享一下。 现象就是一个 update 操作,在 mysql 客户端中执行提示 warning,但在 java 程序中执行却又报错。 问题重现 数据运维 2024-03-11 共饮一杯
INSERT...SELECT语句对查询的表加锁吗 前言 insert into t2 select * from t1; 这条语句会对查询表 t1 加锁吗?不要轻易下结论。对GreatSQL的锁进行研究之前,首先要确认一下事务的隔离级别,不同的事务隔离级别,锁的表现是不一样的。 实验 创建测试表t1,t2 greatsql> create table t1(id int primary key ,c1 varchar(10),c2 date 数据运维 2024-03-06 宇宙之一粟
openGauss/MogDB中孤儿文件问题 (ID8257) 原作者:罗海鸥 适用范围 openGauss/MogDB 问题概述 数据库崩溃或者会话异常终止时,未清理的文件会侵蚀存储空间。 问题原因 数据库崩溃或者会话异常终止时,数据库不会清理回滚事务中创建的文件。 db1=# begin ; BEGIN db1=# create table t1(id int); CREATE TABLE db1=# insert into t1 values(1); I 数据运维 2024-01-19 Escape
mysql事务隔离级别 READCOMMITTED REPEATABLEREAD – session 1 create schema test; use test; create table t2 (id int, c2 char(1), c3 int); insert t2 select 1,‘k’,10; insert t2 select 2,‘y’,20; insert t2 select 3,‘z’,100; show variables like ‘%iso%’; – 数据运维 2024-01-18 剑圣无痕
C++函数模板:掌握返回类型推导的艺术 编译器推导返回类型 讨论 add() 函数模板的示例,让编译器推导返回值的类型确实是个好主意。然而,返回类型依赖于模板类型参数,那该如何实现呢?例如,考虑以下函数模板: template RetType add(const T1& t1, const T2& t2) { return t1 + t2; } 在这个示例中,RetType 应该是表达式 t1 + t2 的类型,但你无法 开发运维 2024-01-18 爱可生开源社区
MySQL数据库frm文件丢失会触发哪些错误? 相关错误号: Last_Errno: 1813 Last_Error: Error 'Tablespace 'cjc.t1' exists.' on query. Default database: 'cjc'. Query: 'create table t1(id int)' Last_Errno: 1051 数据运维 2024-01-15 大猫
oracle 14099 Oracle 14099是数据库管理系统中常用的错误代码,表示查询中出现了无效的别名。 在SQL语句中,别名是为表或者列设置的一个简短的替代名称,以便于阅读和编写更简洁的代码。例如: SELECT t1.name, t2.age FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id; 数据运维 2023-12-24 Escape