自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(370)
  • 收藏
  • 关注

原创 MySQL派生表查询大数据量无结果问题分析与解决

本文剖析 MySQL 派生表查询大数据量无结果问题,从现象调查到代码定位,给出修复方案,助你解决类似难题!

2025-06-20 10:11:26 333

原创 GreatSQL从库报错13146:字符集不一致问题处理

表中相关信息,可以看到contact列、tel列的字符集都为utf8mb4,排序规则为默认的 utf8mb4_0900_ai_ci;这段描述可以解释为什么在创建表时,如果没有明确指定列的字符集,则会使用该表或数据库的默认字符集。这意味着,如果为VARCHAR类型的列没有指定字符集,它将继承表或数据库层面定义的字符集。的方式进行数据恢复后配置同步,从库发生报错13146数据类型转换失败,导致同步异常;表的字符集两边不一致,主库为utf8mb3,从库为utf8mb4,那么所属列的字符集是否一致呢?

2025-06-18 11:00:11 424

原创 工具分享-从ibd文件中恢复数据的神器ibd2sql

ibd2sql是一个使用纯python3编写的离线解析MySQL InnoDB 存储引擎的ibd文件的工具。无第三方依赖包,使用GPL-3.0license。

2025-06-13 10:12:02 287

原创 dbops 助力 GreatSQL MGR架构安装部署

本文介绍用 dbops 部署 GreatSQL MGR 架构,含下载、配置、安装步骤,VIP 功能,速来学习!

2025-06-11 10:01:27 814

原创 GreatSQL连接数被打满的3种紧急解决方案

GreatSQL 连接数打满怎么办?本文分享 3 种紧急解决方案,含设置技巧、应急处理,助你保障数据库稳定,速看!

2025-06-04 10:22:36 615

原创 MySQL 派生表查询导致 Crash 的根源分析与解决方案

MySQL 8.0.32 派生表查询致 Crash?本文深度剖析根源,揭秘修复代码,复杂 SQL 问题应对有法,速来一探究竟!

2025-05-23 11:04:29 741

原创 MySQL派生条件下推优化导致自定义变量结果错误问题分析

MySQL 8.0.22 引入派生条件下推优化致自定义变量结果出错,8.0.28 修复,附规避措施,点击查看详细分析!

2025-05-22 10:15:01 777

原创 针对大事务问题对业务存储过程改造

本文剖析业务存储过程大事务问题,提出改造方法,分批次提交、用游标处理,提升性能与稳定性,适合高并发场景,速看!

2025-05-16 10:02:43 646

原创 在Oracle到GreatSQL迁移中排序规则改变引发的乱码问题分析及解决

Oracle 到 GreatSQL 迁移改排序规则引发乱码?本文深入分析根源,提供方案,助你快速解决,速来一探究竟!

2025-05-14 10:46:05 972

原创 GreatSQL Hash Join 条件列长度对执行计划的影响

GreatSQL Hash Join 条件列长度对执行计划的影响

2025-05-09 10:44:59 987

原创 使用 gt-checksum 分析迁移对象

本文以从 ORACLE 迁移到 GreatSQL 为例,介绍用 gt-checksum 分析迁移对象,含配置、执行及结果解析,完整呈现分析流程。

2025-04-25 10:08:15 621

原创 Java程序使用预处理语句的性能提升

本文通过 Java 程序对比常规 SQL 与预处理语句的 DML 性能,结果显示后者性能提升约 10%,重复 SQL 用它效率更高。

2025-04-23 10:30:47 279

原创 GreatSQL启动崩溃:jemalloc依赖缺失问题排查

本文排查 GreatSQL 启动崩溃问题,发现系 jemalloc 依赖缺失。mysqld_safe默认用 jemalloc,mysqld用 ptmalloc,建议安装依赖提性能。

2025-04-18 10:55:20 707

原创 MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题

MySQL 8.0 下 200GB 大表备份,可利用传输表空间解决停服发版问题,秒级备份、零复制,适用于单实例大表快备。

2025-04-09 10:32:32 407

原创 事务处理对持久统计信息自动收集的影响

本文探讨事务处理对持久统计信息自动收集的影响,通过 INSERT 和 DELETE 测试,发现回滚后统计信息或不匹配,需ANALYZE TABLE修正。

2025-04-02 10:44:25 295

原创 dbops 助力 GreatSQL 单机架构安装部署

本文介绍用 dbops 部署 GreatSQL 单机架构,涵盖工具简介、环境信息、下载安装步骤,还可自定义安装目录,快来学习~

2025-03-28 09:38:49 919

原创 【GreatSQL优化器-18】GROUP_INDEX_SKIP_SCAN

优化器系列第十八篇,全网独家解析代码+例子,深入透彻地理解每一个细节。在本篇中,将聚焦于“GROUP_INDEX_SKIP_SCAN”。

2025-03-26 10:26:12 430

原创 GreatSQL 为何选择全表扫描而不选索引

全表扫描为何反胜索引?🤔 揭秘优化器背后的决策逻辑,从成本估算到数据分布,助您掌握性能调优关键!

2025-03-21 10:14:22 652

原创 【GreatSQL优化器-17】DYNAMIC RANGE

GreatSQL 的优化器有一种扫描方式是动态范围扫描方式,类似于“已读乱回”模式,这种模式是在表有多个索引的情况下,对驱动表连接的时候部分选择索引的情况。优化器没有找到好的索引可以使用,但发现在知道前面表的列值后,可能会使用某些索引。对于前面表中的每个行组合,优化器检查是否可以使用 range 或 index merge 访问方法来检索行。虽然这不是很快,但比执行完全没有索引的连接要快。下面用一个简单的例子来说明直方图怎么应用在优化器。

2025-03-19 10:09:45 528

原创 优化GreatSQL日志文件空间占用

自动清理旧日志,告别磁盘爆满!通过 binlog/relay log/slow log/audit log 四大空间参数控制,智能管理日志文件总量,DBA 从此无忧。

2025-03-14 11:01:56 859

原创 【GreatSQL优化器-16】INDEX_SKIP_SCAN

优化器系列第十六篇,全网独家解析代码+例子,深入透彻地理解每一个细节。在本篇中,将聚焦于“INDEX_SKIP_SCAN”。

2025-03-12 10:29:02 478

原创 GreatSQL 8.0.32-27 GA (2025-3-10)

新增 Turbo 引擎加速查询,Rapid 引擎内核升级。优化 MGR 事务传输,完善插件,支持 Zstd 压缩提效率。改进兼容性和安全性,修复崩溃、丢数据等问题!

2025-03-10 11:06:58 1069

原创 GreatSQL5.7 与 8.0 对 DATE 非法值处理方式不同

MySQL 8.0 与 5.7 在 DATE 非法值处理上差异显著,本文不仅对比两者表现,还深入探讨成因,为从业者提供实操建议。

2025-03-07 14:05:59 949

原创 基于 MySQL 8.0 细粒度授权:单独授予 KILL 权限的优雅解决方案

MySQL 8.0 权限体系新变革!教你单独授予 KILL 权限,保障安全又灵活,附实战操作与关键要点,速学!

2025-03-05 14:39:42 851

原创 函数索引触发的一个有趣的问题

揭秘字符集差异导致的索引失效现象,解析整型列使用字符函数时的隐式转换陷阱,助开发者规避跨客户端索引兼容性问题,提升数据库查询优化技巧!

2025-02-26 10:25:22 546

原创 GreatSQL修改配置文件参数无法生效

GreatSQL 修改配置文件参数sql_require_primary_key遇失效问题,排查发现持久化影响,取消后重启生效。速来了解!

2025-02-24 10:12:50 542

原创 【GreatSQL优化器-15】index merge

优化器系列第十五篇,全网独家解析代码+例子,深入透彻地理解每一个细节。在本篇中,将聚焦于“index merge”。

2025-02-21 10:37:18 923

原创 【GreatSQL优化器-14】直方图应用

优化器系列第十四篇,全网独家解析代码+例子,深入透彻地理解每一个细节。在本篇中,将聚焦于“直方图应用”。

2025-02-19 10:17:21 336

原创 主从复制中定位回放慢涉及的表

主从架构下的性能问题,突发延迟且持续增长,经排查是 DELETE 事务回放缓慢所致。利用SHOW PROCESSLIST等命令,可定位到回放慢涉及的表,多为无索引且数据量庞大的表,这使得从库回放效率低下

2025-02-17 11:04:39 405

原创 【GreatSQL优化器-13】直方图

GreatSQL的优化器负责将SQL查询转换为尽可能高效的执行计划,但因为数据环境不断变化有可能导致优化器对查询数据了解不够充足,可能无法生成最优的执行计划进而影响查询效率,因此推出了直方图(histogram)功能来解决该问题。直方图用于统计字段值的分布情况,向优化器提供统计信息。利用直方图,可以对一张表的一列数据做分布统计,估算WHERE条件中过滤字段的选择率,从而帮助优化器更准确地估计查询过程中的行数,选择更高效的查询计划。直方图以灵活的JSON的格式存储。会基于表大小自动判断是否要进行取样操作。

2025-02-14 11:20:41 617

原创 【GreatSQL优化器-13】直方图

GreatSQL的优化器负责将SQL查询转换为尽可能高效的执行计划,但因为数据环境不断变化有可能导致优化器对查询数据了解不够充足,可能无法生成最优的执行计划进而影响查询效率,因此推出了直方图(histogram)功能来解决该问题。直方图用于统计字段值的分布情况,向优化器提供统计信息。利用直方图,可以对一张表的一列数据做分布统计,估算WHERE条件中过滤字段的选择率,从而帮助优化器更准确地估计查询过程中的行数,选择更高效的查询计划。直方图以灵活的JSON的格式存储。会基于表大小自动判断是否要进行取样操作。

2025-02-14 11:19:23 749

原创 【GreatSQL优化器-12】make_tmp_tables_info

GreatSQL的优化器对于聚合函数和窗口函数需要创建内部临时表来进行计算并输出最后结果,这个内部临时表又需要原始表来作为数据输入源,具体的代码处理在函数实现。下面用一个简单的例子来说明是做什么的。"items": [},],},},},},"considering_tmp_tables": [ 这里创建临时表"adding_tmp_table_in_plan_at_position": 2, 临时表总是添加在主表之后},"steps": [

2025-02-12 10:18:42 642

原创 加速无索引表引起的主从延迟数据回放

DELETE。

2025-02-10 10:35:13 718

原创 数据迁移丨借助 pg2mysql 从 PostgreSQL 到 GreatSQL

pg2mysql 工具是一款开源工具,由 VMware 公司提供,主要用于将数据从 PostgreSQL 迁移至 MySQL 或 GreatSQL。其核心价值在于数据兼容性检查与迁移功能。在实际迁移操作之前,该工具会仔细检查 MySQL/GreatSQL 的表结构与 PostgreSQL 中相应表结构是否兼容。若检测到诸如字段长度不足之类的潜在问题,它会向用户发出提示,以便用户进行修正。pg2mysql 工具主要是用 Go 语言编写的,遵循 Apache - 2.0 许可证。

2025-01-22 09:51:32 674

原创 数据迁移丨如何从 PostgreSQL 到 GreatSQL

运用AI加持转换表结构,从PostgreSQL到GreatSQL的数据迁移~

2025-01-20 10:10:02 709

原创 数据迁移丨借助 AI 从 PostgreSQL 到 GreatSQL

相对 MySQL 及 Percona Server For MySQL 的性能表现更稳定优异,支持 Rapid 引擎、事务无锁化、并行LOAD DATA、异步删除大表、线程池、非阻塞式DDL、NUMA 亲和调度优化 等特性,在 TPC-C 测试中相对 MySQL 性能提升超过 30%,在 TPC-H 测试中的性能表现是 MySQL 的十几倍甚至上百倍。了解数据库直接交互的应用程序、服务、脚本等,分析这些依赖关系,有助于制定迁移计划,和减少对业务的影响。语句的形式导出数据,而不是默认的自定义格式。

2025-01-20 10:03:29 885

原创 数据迁移丨借助 AI 从 PostgreSQL 到 GreatSQL

相对 MySQL 及 Percona Server For MySQL 的性能表现更稳定优异,支持 Rapid 引擎、事务无锁化、并行LOAD DATA、异步删除大表、线程池、非阻塞式DDL、NUMA 亲和调度优化 等特性,在 TPC-C 测试中相对 MySQL 性能提升超过 30%,在 TPC-H 测试中的性能表现是 MySQL 的十几倍甚至上百倍。了解数据库直接交互的应用程序、服务、脚本等,分析这些依赖关系,有助于制定迁移计划,和减少对业务的影响。语句的形式导出数据,而不是默认的自定义格式。

2025-01-20 10:02:55 961

原创 数据迁移丨借助 AI 从 PostgreSQL 到 GreatSQL

相对 MySQL 及 Percona Server For MySQL 的性能表现更稳定优异,支持 Rapid 引擎、事务无锁化、并行LOAD DATA、异步删除大表、线程池、非阻塞式DDL、NUMA 亲和调度优化 等特性,在 TPC-C 测试中相对 MySQL 性能提升超过 30%,在 TPC-H 测试中的性能表现是 MySQL 的十几倍甚至上百倍。了解数据库直接交互的应用程序、服务、脚本等,分析这些依赖关系,有助于制定迁移计划,和减少对业务的影响。语句的形式导出数据,而不是默认的自定义格式。

2025-01-20 10:01:18 1003

原创 【GreatSQL优化器-11】finalize_table_conditions

GreatSQL的优化器在对join做完表排序后,在函数对表添加条件,添加完条件在会对条件再次进行确认,对ref扫描的条件进行删除,对需要cache的条件进行替换,生成的条件就是表执行查询最后用的条件。下面用一个简单的例子来说明做什么事情。],},},},},"original_table_condition": "(`t2`.`cc1` = `t1`.`c1`)", 原始添加的条件。

2025-01-15 09:44:57 824

原创 【GreatSQL优化器-10】find_best_ref

GreatSQL的优化器对于join的表需要根据行数和cost来确定最后哪张表先执行哪张表后执行,这里面就涉及到预估满足条件的表数据,在keyuse_array数组有值的情况下,会用find_best_ref函数来通过索引进行cost和rows的估计,并且会找出最优的索引。这样就可能不会继续用后面的calculate_scan_cost()进行全表扫描计算cost,可以节省查询时间。这个功能是对之前【优化器05-条件过滤】的补充功能,二者有可能一起用,也有可能只选择一种计算,要看具体条件。

2025-01-10 10:30:21 640

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除