摘要:
使用 gt-checksum 迁移表结构到 GreatSQL 背景 本文以从 ORACLE 迁移到 GreatSQL 为例讲述如何使用 gt-checksum 迁移表结构。 关于gt-checksum gt-checksum是GreatSQL社区开源的一款静态数据库校验修复工具,支持MySQL、Or 阅读全文
摘要:
【GreatSQL优化器-07】mm tree 一、mm tree介绍 GreatSQL 的优化器主要用 mm tree 也就是 min-max tree 来确定条件的范围,然后根据不同索引的范围值来计算 cost,选取 cost 最小的索引来执行SQL。 下面用一个简单的例子来说明 mm tree 阅读全文
摘要:
DML操作报列不存在? 背景概述 客户在测试时发现执行某些DML语句时,出现了异常情况,报表不存在或者列不匹配的情况; 我在做数据迁移测试的时候也出现此问题,迁移数据时报 unknow column; 看到这种情况的时候很奇怪,查看表结构时也能看到当前执行的SQL语句涉及的表及列是存在的; 经过排查 阅读全文
摘要:
【GreatSQL优化器-06】条件过滤导致选择非最佳 一、condition_fanout_filter导致计划非最佳 GreatSQL 的优化器对于 join 的表需要根据行数和 cost 来确定最后哪张表先执行哪张表后执行,这里面就涉及到预估满足条件的表数据,condition_fanout_ 阅读全文
摘要:
【GreatSQL优化器-05】条件过滤condition_fanout_filter 一、condition_fanout_filter介绍 GreatSQL 的优化器对于 join 的表需要根据行数和 cost 来确定最后哪张表先执行哪张表后执行,这里面就涉及到预估满足条件的表数据,condit 阅读全文
摘要:
通过延时从库+binlog复制,恢复误操作数据 一、介绍环境 数据库版本 实例角色 ip地址 端口 GreatSQL 8.0.32-26 master 192.168.134.199 5725 GreatSQL 8.0.32-26 slave 192.168.134.199 5726 二、主库配置 阅读全文
摘要:
GreatSQL内存消耗异常排查攻略:从系统到应用层面的深入分析 当 GreatSQL 数据库处于高并发高负载时,可能会发现 mysqld 进程的内存消耗远远超出设置的 innodb_buffer_pool_size 时,有时候甚至会高达甚至超过系统内存的90%,遇到这种问题时,心里经常会发慌,担心 阅读全文
摘要:
GreatSQL 自动开启复制导致同步报错 1.背景概述 目前需要将生产数据恢复到一个单实例,再将单实例和生产节点配置主从关系,由于单表数据量较大,时间比较有限,考虑到导入导出的时间,并且GreatSQL支持XtraBackup备份恢复,能够加速数据的恢复,因此决定使用XtraBackup备份工具进 阅读全文
摘要:
【GreatSQL优化器-04】贪婪搜索算法浅析 一、贪婪搜索(greedy_search)介绍 GreatSQL的优化器用greedy_search方法来枚举所有的表连接场景,然后从中根据最小cost来决定最佳连接顺序。这里面就涉及每种场景的cost计算方法,不同计算方法会导致不同的排序结果。 因 阅读全文
摘要:
【GreatSQL优化器-03】查询开销估算 一、cost和read_time介绍 GreatSQL的优化器在创建执行计划的时候是根据每张表的行数和数据分布以及读数据硬盘消耗等信息来判断先查询哪张表后查询哪张表,要不要使用索引,这些表资源信息就被称为cost,俗称为"开销"。在这之前已经执行了upd 阅读全文