- 本文主要讲解解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法。通过这两种解决办法,让大家了解如果在工项目中真实遇到了可以有一个参考。 本文主要讲解解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法。通过这两种解决办法,让大家了解如果在工项目中真实遇到了可以有一个参考。
- 在 SQL Server 开发过程中,临时表和表变量是两种常用的临时数据存储方式。它们都能在存储过程中临时保存数据,但其底层实现机制、性能表现和适用场景存在显著差异。很多开发者在面对临时数据存储需求时,往往凭经验或习惯选择使用其中一种,而忽略了它们在不同场景下的性能差异。本文将深入探讨这两种临时存储对象的特点、性能差异以及选择策略,帮助开发者在实际项目中做出更合理的技术决策。 临时表与表变量... 在 SQL Server 开发过程中,临时表和表变量是两种常用的临时数据存储方式。它们都能在存储过程中临时保存数据,但其底层实现机制、性能表现和适用场景存在显著差异。很多开发者在面对临时数据存储需求时,往往凭经验或习惯选择使用其中一种,而忽略了它们在不同场景下的性能差异。本文将深入探讨这两种临时存储对象的特点、性能差异以及选择策略,帮助开发者在实际项目中做出更合理的技术决策。 临时表与表变量...
- 一、从"意大利面式SQL"说起在电商订单系统的优化实践中,我曾接手过一段执行耗时超过15秒的查询。这个查询包含5层嵌套子查询,像缠绕的意大利面般难以理清。通过执行计划分析发现,最内层的子查询被重复执行了2300次,导致全表扫描成为性能瓶颈。这类嵌套结构往往源于开发者对业务逻辑的直观映射:SELECT * FROM orders WHERE user_id IN ( SELECT id... 一、从"意大利面式SQL"说起在电商订单系统的优化实践中,我曾接手过一段执行耗时超过15秒的查询。这个查询包含5层嵌套子查询,像缠绕的意大利面般难以理清。通过执行计划分析发现,最内层的子查询被重复执行了2300次,导致全表扫描成为性能瓶颈。这类嵌套结构往往源于开发者对业务逻辑的直观映射:SELECT * FROM orders WHERE user_id IN ( SELECT id...
- InnoDB默认是用可重复读,那发生幻读怎么办?InnoDB 的默认隔离级别是「可重复读(Repeatable Read, RR)」,在该级别下,幻读问题并未被彻底解决,但通过 MVCC(多版本并发控制)和锁机制(Next-Key Lock)的组合,可以大幅减少幻读的发生。以下是详细分析及案例:一、InnoDB 解决幻读的机制1. 快照读:通过 MVCC 避免幻读原理事务启动时会生成一个一致... InnoDB默认是用可重复读,那发生幻读怎么办?InnoDB 的默认隔离级别是「可重复读(Repeatable Read, RR)」,在该级别下,幻读问题并未被彻底解决,但通过 MVCC(多版本并发控制)和锁机制(Next-Key Lock)的组合,可以大幅减少幻读的发生。以下是详细分析及案例:一、InnoDB 解决幻读的机制1. 快照读:通过 MVCC 避免幻读原理事务启动时会生成一个一致...
- 医院HIS系统的数据库优化是保障系统高效、稳定运行的核心工作,尤其在高并发、大数据量、7×24小时不间断的医疗场景下。优化需从架构设计、SQL性能、硬件资源、运维管理多维度切入,以下为关键优化策略: 一、架构层优化1、分库分表 垂直拆分:按业务模块分离(如门诊、住院、药品、财务库),减少单库压力。 水平拆分:对超大型表(如患者就诊记录、医嘱表)按时间/科室ID分片(如按年分表)。 ... 医院HIS系统的数据库优化是保障系统高效、稳定运行的核心工作,尤其在高并发、大数据量、7×24小时不间断的医疗场景下。优化需从架构设计、SQL性能、硬件资源、运维管理多维度切入,以下为关键优化策略: 一、架构层优化1、分库分表 垂直拆分:按业务模块分离(如门诊、住院、药品、财务库),减少单库压力。 水平拆分:对超大型表(如患者就诊记录、医嘱表)按时间/科室ID分片(如按年分表)。 ...
- 乐观锁定义乐观锁(Optimistic Lock)是一种假设冲突不会频繁发生的锁机制。每次数据访问时,不会加锁,而是在更新数据时检查是否有其他线程修改过数据。如果检测到冲突(数据被其他线程修改过),则重试操作或报错。乐观锁通常实现方式有以下两种:版本号机制:每次读取数据时,读取一个版本号,更新数据时,检查版本号是否变化,如果没有变化,则更新成功,否则重试。时间戳机制:类似版本号机制,通过时间... 乐观锁定义乐观锁(Optimistic Lock)是一种假设冲突不会频繁发生的锁机制。每次数据访问时,不会加锁,而是在更新数据时检查是否有其他线程修改过数据。如果检测到冲突(数据被其他线程修改过),则重试操作或报错。乐观锁通常实现方式有以下两种:版本号机制:每次读取数据时,读取一个版本号,更新数据时,检查版本号是否变化,如果没有变化,则更新成功,否则重试。时间戳机制:类似版本号机制,通过时间...
- 在Oracle数据库中,可以通过以下方法在命令行生成SQL语句的执行树(Execution Plan),以可视化查询的执行路径。以下是具体步骤和代码示例: 方法1:使用EXPLAIN PLAN + DBMS_XPLAN 步骤1:生成执行计划-- 在SQL*Plus或其他命令行工具中执行EXPLAIN PLAN FORSELECT e.employee_id, e.last_name, d.d... 在Oracle数据库中,可以通过以下方法在命令行生成SQL语句的执行树(Execution Plan),以可视化查询的执行路径。以下是具体步骤和代码示例: 方法1:使用EXPLAIN PLAN + DBMS_XPLAN 步骤1:生成执行计划-- 在SQL*Plus或其他命令行工具中执行EXPLAIN PLAN FORSELECT e.employee_id, e.last_name, d.d...
- Oracle优化器(Optimizer)是数据库的核心组件,负责将SQL语句转换为高效的执行计划(Execution Plan),其执行过程涉及复杂的成本估算、统计信息分析和算法决策。以下是Oracle优化器执行过程的详细解析,涵盖关键步骤、算法类型及优化技巧: 一、优化器类型Oracle提供两种优化器模式,通过参数OPTIMIZER_MODE控制:基于规则的优化器(RBO, Rule-Ba... Oracle优化器(Optimizer)是数据库的核心组件,负责将SQL语句转换为高效的执行计划(Execution Plan),其执行过程涉及复杂的成本估算、统计信息分析和算法决策。以下是Oracle优化器执行过程的详细解析,涵盖关键步骤、算法类型及优化技巧: 一、优化器类型Oracle提供两种优化器模式,通过参数OPTIMIZER_MODE控制:基于规则的优化器(RBO, Rule-Ba...
- 事务隔离性:数据库一致性的守护者 事务隔离级别详解事务隔离性是ACID特性中的关键组成部分,它定义了多个事务并发执行时的可见性规则。SQL标准定义了四种隔离级别:隔离级别脏读不可重复读幻读性能典型应用场景读未提交(Read Uncommitted)可能可能可能最高几乎不使用读已提交(Read Committed)不可能可能可能高大多数数据库默认级别可重复读(Repeatable Read)... 事务隔离性:数据库一致性的守护者 事务隔离级别详解事务隔离性是ACID特性中的关键组成部分,它定义了多个事务并发执行时的可见性规则。SQL标准定义了四种隔离级别:隔离级别脏读不可重复读幻读性能典型应用场景读未提交(Read Uncommitted)可能可能可能最高几乎不使用读已提交(Read Committed)不可能可能可能高大多数数据库默认级别可重复读(Repeatable Read)...
- 作为一名电子厂的开发人员,我的日常工作主要围绕MES(制造执行系统)、VMS(视觉管理系统)和IoT(物联网系统)展开。这些系统在工厂的生产管理、设备监控和数据分析中扮演着重要角色。然而,随着制造业数字化转型的深入,我们逐渐意识到传统的数据处理方式已经无法满足日益增长的数据量和复杂的业务需求。正是在这个背景下,我与ODPS结下了不解之缘。 初识ODPS:解决数据存储与计算的痛点在我们的工厂中... 作为一名电子厂的开发人员,我的日常工作主要围绕MES(制造执行系统)、VMS(视觉管理系统)和IoT(物联网系统)展开。这些系统在工厂的生产管理、设备监控和数据分析中扮演着重要角色。然而,随着制造业数字化转型的深入,我们逐渐意识到传统的数据处理方式已经无法满足日益增长的数据量和复杂的业务需求。正是在这个背景下,我与ODPS结下了不解之缘。 初识ODPS:解决数据存储与计算的痛点在我们的工厂中...
- MySQL实现无数据插入,有数据更新在数据库操作中,经常会遇到这样的需求:当某条记录不存在时,需要插入一条新的记录;如果该记录已经存在,则需要更新这条记录的某些字段。这种操作通常被称为“Upsert”(即“Update or Insert”的缩写)。本文将探讨如何在MySQL中实现这一功能。1. 使用 INSERT ... ON DUPLICATE KEY UPDATEMySQL 提... MySQL实现无数据插入,有数据更新在数据库操作中,经常会遇到这样的需求:当某条记录不存在时,需要插入一条新的记录;如果该记录已经存在,则需要更新这条记录的某些字段。这种操作通常被称为“Upsert”(即“Update or Insert”的缩写)。本文将探讨如何在MySQL中实现这一功能。1. 使用 INSERT ... ON DUPLICATE KEY UPDATEMySQL 提...
- 以下是一个完整的 PL/SQL 匿名块,用于检查 3 张表是否存在,如果存在则删除它们(使用 PURGE 永久删除):DECLARE -- 定义表名数组 TYPE table_array IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER; v_tables table_array; -- 计数变量 v_count NUMBER;B... 以下是一个完整的 PL/SQL 匿名块,用于检查 3 张表是否存在,如果存在则删除它们(使用 PURGE 永久删除):DECLARE -- 定义表名数组 TYPE table_array IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER; v_tables table_array; -- 计数变量 v_count NUMBER;B...
- PL/SQL 块详解PL/SQL(Procedural Language/Structured Query Language)是 Oracle 数据库提供的过程化扩展,它允许你在 SQL 语句中嵌入过程化控制结构(如条件判断、循环等)。PL/SQL 的核心组成部分是PL/SQL 块。 1. 什么是 PL/SQL 块?PL/SQL 块是包含 PL/SQL 代码的基本单位,它由声明部分、执行部... PL/SQL 块详解PL/SQL(Procedural Language/Structured Query Language)是 Oracle 数据库提供的过程化扩展,它允许你在 SQL 语句中嵌入过程化控制结构(如条件判断、循环等)。PL/SQL 的核心组成部分是PL/SQL 块。 1. 什么是 PL/SQL 块?PL/SQL 块是包含 PL/SQL 代码的基本单位,它由声明部分、执行部...
- 1、背景介绍在MySQL数据库生产环境中,记录SQL语句和相关信息(如:执行开始时间、错误码、执行时长、锁等待时长等)可用于风险识别(如跨大版本迁移前验证)、性能分析、问题定位等。基于上述需求,华为云RDS开发了全量SQL组件,用于记录数据库在运行过程中执行SQL的详细信息。全量SQL是数据库侧提供的轻量化审计组件,可以在尽可能减小对数据库性能影响的前提下,记录数据库执行的所有SQL语句。该... 1、背景介绍在MySQL数据库生产环境中,记录SQL语句和相关信息(如:执行开始时间、错误码、执行时长、锁等待时长等)可用于风险识别(如跨大版本迁移前验证)、性能分析、问题定位等。基于上述需求,华为云RDS开发了全量SQL组件,用于记录数据库在运行过程中执行SQL的详细信息。全量SQL是数据库侧提供的轻量化审计组件,可以在尽可能减小对数据库性能影响的前提下,记录数据库执行的所有SQL语句。该...
- 在数据库查询中,我们常需比较两个数据集的差异。EXCEPT和NOT EXISTS是两种主流方案,但当数据包含NULL值时,它们可能产生非预期的结果。本文将探讨这些陷阱,并在第二部分提出NULL安全的替代方案。 一、场景引入:为什么NULL是"隐形炸弹"假设某电商平台需比对用户地址表(addresses_old与addresses_new),找出失效地址。表结构如下:CREATE TABLE ... 在数据库查询中,我们常需比较两个数据集的差异。EXCEPT和NOT EXISTS是两种主流方案,但当数据包含NULL值时,它们可能产生非预期的结果。本文将探讨这些陷阱,并在第二部分提出NULL安全的替代方案。 一、场景引入:为什么NULL是"隐形炸弹"假设某电商平台需比对用户地址表(addresses_old与addresses_new),找出失效地址。表结构如下:CREATE TABLE ...
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签