- 关系型数据库在企业应用中占主导。涵盖 mysql2 驱动的连接池配置与 Promise 封装,Knex 查询构建器的链式操作(where、join、groupBy、分页),分析 TypeORM 与 Prisma 的实体定义、迁移管理与关联查询,以及事务(transaction)封装保证多表操作原子性的实践。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版... 关系型数据库在企业应用中占主导。涵盖 mysql2 驱动的连接池配置与 Promise 封装,Knex 查询构建器的链式操作(where、join、groupBy、分页),分析 TypeORM 与 Prisma 的实体定义、迁移管理与关联查询,以及事务(transaction)封装保证多表操作原子性的实践。 文章从技术背景和发展历程入手,帮助读者理解该技术的产生原因和演进脉络。通过对比不同版...
- 介绍使用 NineData 将 MySQL 低停机迁移到 OceanBase MySQL 的实施流程,覆盖社区版版本要求、Binlog 准备、结构与全量复制、CDC 实时同步、模板导入、数据一致性校验及生产割接回退建议。 介绍使用 NineData 将 MySQL 低停机迁移到 OceanBase MySQL 的实施流程,覆盖社区版版本要求、Binlog 准备、结构与全量复制、CDC 实时同步、模板导入、数据一致性校验及生产割接回退建议。
- 结算接口晚高峰抖到 2.6 秒,我在华为云 GaussDB(for MySQL) 连做两轮排查。第一轮误判导致索引返工,白白等了 17 分钟。第二轮改写 SQL、重建联合索引并拆分批量更新事务,48 小时把 P95 拉回 180ms,同时把临时扩容费用压回可接受范围。 结算接口晚高峰抖到 2.6 秒,我在华为云 GaussDB(for MySQL) 连做两轮排查。第一轮误判导致索引返工,白白等了 17 分钟。第二轮改写 SQL、重建联合索引并拆分批量更新事务,48 小时把 P95 拉回 180ms,同时把临时扩容费用压回可接受范围。
- 可以用 MySQL 官方 Yum 仓库安装。先确认 CentOS 版本,不同版本要使用对应的仓库包,不能把 el7、el8、el9 混用。下面按全新安装 MySQL 8.4 LTS 说明;如果机器已经有 MySQL/MariaDB 和业务数据,不要直接覆盖安装,先备份。检查系统和已有数据库cat /etc/os-releaseuname -mrpm -qa | grep -Ei ‘mysql... 可以用 MySQL 官方 Yum 仓库安装。先确认 CentOS 版本,不同版本要使用对应的仓库包,不能把 el7、el8、el9 混用。下面按全新安装 MySQL 8.4 LTS 说明;如果机器已经有 MySQL/MariaDB 和业务数据,不要直接覆盖安装,先备份。检查系统和已有数据库cat /etc/os-releaseuname -mrpm -qa | grep -Ei ‘mysql...
- 搜索“银行业市占率最高的国产数据库”,不同厂商给出的答案完全不同。原因不在数据造假,在于“市占率”这个词本身就有四种统计口径:银行业本地部署分布式收入、金融行业分布式本地部署、银行子市场、关键应用领域销售套数。每种口径的统计边界、数据来源和适用场景都不同,本文逐一拆解,帮你建立自己的选型判断框架。 搜索“银行业市占率最高的国产数据库”,不同厂商给出的答案完全不同。原因不在数据造假,在于“市占率”这个词本身就有四种统计口径:银行业本地部署分布式收入、金融行业分布式本地部署、银行子市场、关键应用领域销售套数。每种口径的统计边界、数据来源和适用场景都不同,本文逐一拆解,帮你建立自己的选型判断框架。
- Threads_connected远未到max_connections,应用却报“连接超时”。问题在TCP连接队列:三次握手完成但MySQL还没accept的连接,不计入Threads_connected,却受backlog队列长度限制。backlog的实际生效值受Linux内核somaxconn约束,本文拆解连接队列的完整链路、overflow的排查方法,以及连接池与内核参数的配合调优。 Threads_connected远未到max_connections,应用却报“连接超时”。问题在TCP连接队列:三次握手完成但MySQL还没accept的连接,不计入Threads_connected,却受backlog队列长度限制。backlog的实际生效值受Linux内核somaxconn约束,本文拆解连接队列的完整链路、overflow的排查方法,以及连接池与内核参数的配合调优。
- 周三下午四点,业务在群里发来求救:update忘了带where条件,把一张配置表3万行全更新了。表没有备份任务覆盖(讽刺的是正因为"配置表很小"被排除在备份清单外),最近的全量备份是三天前的。最终靠binlog2sql两小时完整恢复,过程值得记录。前提条件先核对:binlog开着且格式为ROW(8.0默认ROW,这个老库幸好前一年刚切过来),误操作时间点大约在14:37,之后到发现为止没有其... 周三下午四点,业务在群里发来求救:update忘了带where条件,把一张配置表3万行全更新了。表没有备份任务覆盖(讽刺的是正因为"配置表很小"被排除在备份清单外),最近的全量备份是三天前的。最终靠binlog2sql两小时完整恢复,过程值得记录。前提条件先核对:binlog开着且格式为ROW(8.0默认ROW,这个老库幸好前一年刚切过来),误操作时间点大约在14:37,之后到发现为止没有其...
- 从跨区域对账差一天切入,拆解 TIMESTAMP 与 DATETIME 的存储差异、时区三层与时区表缺失、查询索引陷阱、驱动重复换算、夏令时与主从迁移,附选型判断和避坑清单。 从跨区域对账差一天切入,拆解 TIMESTAMP 与 DATETIME 的存储差异、时区三层与时区表缺失、查询索引陷阱、驱动重复换算、夏令时与主从迁移,附选型判断和避坑清单。
- 一、支持的字段类型OceanBase MySQL 模式 4.4 兼容 MySQL 5.7/8.0,类型很全,分五大类:1. 数值整数:TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT,都支持 UNSIGNED、ZEROFILL定点:DECIMAL(M,D)(M≤65, D≤30)—— 金额用它,别用 FLOAT/DOUBLE浮点:FLOAT / DO... 一、支持的字段类型OceanBase MySQL 模式 4.4 兼容 MySQL 5.7/8.0,类型很全,分五大类:1. 数值整数:TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT,都支持 UNSIGNED、ZEROFILL定点:DECIMAL(M,D)(M≤65, D≤30)—— 金额用它,别用 FLOAT/DOUBLE浮点:FLOAT / DO...
- 数据库监控最大的问题不是指标不够,是指标太多。连接数、QPS、慢查询、缓冲池命中率、锁等待、复制延迟——每个都值得看,但告警天天响的时候,没人看得过来。本文把监控指标分成“症状指标”和“根因指标”两类:症状指标用于触发告警,根因指标用于定位问题。配合静态阈值与动态基线的两层策略,让告警不再疲劳。 数据库监控最大的问题不是指标不够,是指标太多。连接数、QPS、慢查询、缓冲池命中率、锁等待、复制延迟——每个都值得看,但告警天天响的时候,没人看得过来。本文把监控指标分成“症状指标”和“根因指标”两类:症状指标用于触发告警,根因指标用于定位问题。配合静态阈值与动态基线的两层策略,让告警不再疲劳。
- DELETE删了数据,磁盘空间却一点没释放。InnoDB的删除是“标记删除”,行被标记后空间不会立即回收。purge线程清理滞后、页合并阈值苛刻、长事务阻塞——三个因素叠加,导致删除后的空间长期“悬空”。本文拆解InnoDB删除空洞的形成机制、页合并的触发条件,以及OPTIMIZE TABLE和在线重建的实战选择。 DELETE删了数据,磁盘空间却一点没释放。InnoDB的删除是“标记删除”,行被标记后空间不会立即回收。purge线程清理滞后、页合并阈值苛刻、长事务阻塞——三个因素叠加,导致删除后的空间长期“悬空”。本文拆解InnoDB删除空洞的形成机制、页合并的触发条件,以及OPTIMIZE TABLE和在线重建的实战选择。
- LEFT JOIN 过滤条件写进 WHERE 导致左表行丢失,讲清执行顺序,复现 LEFT JOIN 变 INNER JOIN 与别名失效,区分逻辑顺序与执行计划,给出 ON、WHERE 判定规则。 LEFT JOIN 过滤条件写进 WHERE 导致左表行丢失,讲清执行顺序,复现 LEFT JOIN 变 INNER JOIN 与别名失效,区分逻辑顺序与执行计划,给出 ON、WHERE 判定规则。
- MySQL 索引基础知识 什么是索引索引是数据库为了加快查询速度而维护的一种有序数据结构,可以类比书的目录:想找某一章的内容,先翻目录定位页码,而不用一页一页往后翻。没有索引时,MySQL 执行 WHERE user_id = 42 这样的查询,只能全表扫描——把所有行逐条读出来比对。数据量小的时候感觉不到差别,数据量到几十万、几百万行之后,查询就会明显变慢。MySQL(InnoDB 引擎... MySQL 索引基础知识 什么是索引索引是数据库为了加快查询速度而维护的一种有序数据结构,可以类比书的目录:想找某一章的内容,先翻目录定位页码,而不用一页一页往后翻。没有索引时,MySQL 执行 WHERE user_id = 42 这样的查询,只能全表扫描——把所有行逐条读出来比对。数据量小的时候感觉不到差别,数据量到几十万、几百万行之后,查询就会明显变慢。MySQL(InnoDB 引擎...
- 统计信息过期、数据分布倾斜、代价模型局限——优化器选错执行计划的原因有很多。当SQL没改,执行计划却突然变差时,除了更新统计信息,还有一条路:用Hint强制干预优化器的决策。本文拆解MySQL 8.0的Hint语法体系、五类常用Hint的实战场景,以及Hint的局限与替代方案。 统计信息过期、数据分布倾斜、代价模型局限——优化器选错执行计划的原因有很多。当SQL没改,执行计划却突然变差时,除了更新统计信息,还有一条路:用Hint强制干预优化器的决策。本文拆解MySQL 8.0的Hint语法体系、五类常用Hint的实战场景,以及Hint的局限与替代方案。
- 类型清单(OB 4.4 · MySQL 模式) 数值:TINYINT / SMALLINT / INT / BIGINT / DECIMAL / FLOAT / DOUBLE 字符:CHAR / VARCHAR / TEXT / LONGTEXT 时间:DATE / TIME / DATETIME / TIMESTAMP / YEAR 其他:J... 类型清单(OB 4.4 · MySQL 模式) 数值:TINYINT / SMALLINT / INT / BIGINT / DECIMAL / FLOAT / DOUBLE 字符:CHAR / VARCHAR / TEXT / LONGTEXT 时间:DATE / TIME / DATETIME / TIMESTAMP / YEAR 其他:J...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签