在数据库日常运维中,表结构变更(尤其是新增字段)是高频需求。对于数据量几千、几万的小表,一条简单的ALTER TABLE语句便能瞬间完成,几乎不会对业务造成影响。但当表数据量突破千万级甚至上亿级时,直接执行ALTER TABLE就可能成为一场“灾难”——长时间锁表导致读写阻塞、主从延迟飙升、应用连接池耗尽,最终引发订单 […]
在数据库日常运维中,表结构变更(尤其是新增字段)是高频需求。对于数据量几千、几万的小表,一条简单的ALTER TABLE语句便能瞬间完成,几乎不会对业务造成影响。但当表数据量突破千万级甚至上亿级时,直接执行ALTER TABLE就可能成为一场“灾难”——长时间锁表导致读写阻塞、主从延迟飙升、应用连接池耗尽,最终引发订单 […]
核心结论先明确:在绝大多数数据库(MySQL/Oracle/PostgreSQL等)中,二者的性能几乎完全一致,因为数据库优化器会将 BETWEEN AND 自动等价转换为 >= + <= 的组合。性能差异的关键不在运算符本身,而在「是否能利用索引」「范围边界的合理性」。 一、底层逻辑:BETWEEN AN […]
一、乐观锁核心原理 乐观锁的核心是“假设不会发生并发冲突,只在提交更新时检查数据是否被修改过”,而非像悲观锁(如SELECT ... FOR UPDATE)那样提前锁定数据。 核心逻辑:更新数据时,先验证数据的“版本/时间戳”是否和自己读取时一致——一致则更新,不一致则说明数据已被其他线程修改,放弃更新(或重试)。 适 […]
使用内存数据库(如H2)进行MyBatis功能测试,能实现轻量、高效、隔离的测试环境(无需部署真实数据库,测试后数据自动销毁)。 一、核心优势 轻量无依赖:无需安装/部署数据库,随用随建; 速度快:内存操作,测试执行效率远高于真实数据库; 数据隔离:每个测试用例可独立初始化数据,无跨用例污染; 无残留:测试结束后内存释 […]
在AI应用爆发的时代,开发者对数据存储的需求正发生根本性转变——既需要SQLite的轻量嵌入式部署能力,又渴望向量数据库的语义搜索特性,同时还要规避传统数据库的复杂配置与资源消耗。OceanBase团队推出的seekdb,以“AI原生混合搜索”为核心定位,完美平衡了轻量易用与强大功能,成为连接传统数据库与AI应用的桥梁 […]
PostgreSQL简介 PostgreSQL 是一款开源企业级关系型数据库,核心定位是“功能全面、稳定可靠、高度可扩展”,兼具开源自由与商业数据库的企业级能力,被广泛用于金融、电商、政务等核心业务场景。以下从核心维度深度解析: 一、核心定位与发展背景 起源:1986年源于加州大学伯克利分校的 POSTGRES 项目, […]
在 MySQL 优化中,“小表驱动大表”是一条广为人知的核心原则——尤其在多表 Join 场景下,驱动表的选择直接影响查询性能,甚至可能导致“毫秒级”与“秒级”的差距。但很多开发者只知其然,不知其所以然:为什么小表驱动大表更快?没有索引时还成立吗?多表 Join 如何选择驱动表? 一、先明确概念:什么是“驱动表”与“被 […]
在分布式架构演进中,“如何应对海量数据存储与高并发访问”始终是核心难题。早年间,分库分表(Sharding)凭借“拆分数据、分散压力”的思路成为行业标配,支撑了无数电商、金融系统的规模化发展。但随着NewSQL数据库(如TiDB、OceanBase、CockroachDB)的崛起,“分库分表正在被淘汰”的观点引发热议— […]
在开发圈,Docker 早已成为“快速部署”的代名词——一行命令启动 Redis、Nginx,甚至整个微服务集群,这种便捷性让很多开发者习惯性地将 MySQL 也塞进容器。尤其是在开发测试环境,用 docker run 或 docker-compose 搭个数据库确实高效,但一旦推向生产环境,各种隐藏问题就会逐渐暴露: […]
在高性能场景(如高并发读写、复杂查询、大数据量存储、多维度数据处理等)中,PostgreSQL 常被优先推荐,核心原因在于其更优的并发控制、更强的查询优化能力、更灵活的扩展性、更丰富的高性能特性——这些优势恰好匹配高性能场景对“吞吐量、低延迟、稳定性、功能灵活性”的核心需求。以下从 6 个关键维度,结合 Postgre […]
mybatis-plus-join-boot-starter是MyBatis - Plus的一个增强工具包,用于简化开发。 功能特点 简化多表操作:它是MyBatis - Plus的扩展,让开发者能更便捷地进行多表关联查询、子查询等操作,通过简洁的API满足复杂查询需求。例如,在进行多表联合查询时,无需编写大量复杂的S […]
AbstractRoutingDataSource 是 Spring 框架中的一个抽象类,它位于 org.springframework.jdbc.datasource.lookup 包下,主要用于实现动态数据源的切换。以下将从其作用、原理、使用步骤和示例代码等方面进行详细介绍。 介绍 作用 在一些复杂的业务场景中,可 […]
1. 引言 存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性。本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用、修改、删除等操作。 2. 存储过程与存储函数 MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。与一般的SQL语句需要先编 […]
图数据库(Graph Database)是一种以图结构进行存储和查询的数据库。本文总结了图数据库选型的各类因素,并对比了3个主流开源图数据库:Neo4j、JanusGraph、HugeGraph。Neo4j是老牌的图数据库,JanusGraph是非常成功的开源图数据库TitanDB的Fork版(TitanDB已经不维护 […]
如果你想破解一个已经连接好的数据库密码,可以参考这个方法。 邮件查看已经连接好的数据库属性是这样的 但是密码是******谁也看不懂,博主也从网站上下载过一些星星查看器之类的东西,都无济于事。 接下来就是尝试导出这些连接属性,选择文件---->导出连接,勾选想要导出的数据库,导出.ncx后缀的文件 打开导出后的文 […]
他乡共酌金花酒,万里同悲鸿雁天。
COPYRIGHT © 2026 lifengdi.com. ALL RIGHTS RESERVED.