DB
文章平均质量分 89
一叶飘零_sweeeet
大家好,我是果酱(ken),公众号:“果酱桑” 。专注 Java 开发与云原生技术领域,持续分享技术实现方案、实战问题排查、干货心得及前沿动态。已入驻阿里云、稀土掘金、个人公众号等平台,博文同步更新~ 若有技术疑问、经验交流或方向指导,欢迎评论区探讨!以技术为桥,共赴成长之路,期待与你一起深耕技术、To be is to do !共同进步~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从 0 到 1 精通 MongoDB:实战场景 + 底层原理全解析
MongoDB作为NoSQL数据库的领先者,凭借其灵活文档模型、卓越读写性能和强大的水平扩展能力,已成为现代应用开发的首选数据存储方案。本文深入剖析MongoDB的核心应用场景,包括内容管理系统、实时数据分析、物联网和电商平台,通过30+实战案例展示其设计到优化的全流程技巧。文章对比了MongoDB与关系型数据库的差异,提出混合使用策略,并详细讲解性能优化方法,如索引设计、读写分离、分片集群和数据生命周期管理。此外,还总结了数据模型设计最佳实践和常见性能陷阱规避方案,为开发者提供从入门到精通的完整学习路径。原创 2025-10-10 21:19:56 · 1096 阅读 · 0 评论 -
OceanBase vs TiDB:分布式数据库双雄争霸,谁才是你的菜?还需要分库分表吗?
OceanBase与TiDB是两款主流的国产分布式数据库,各有特点:OceanBase采用Shared-Nothing架构,高度兼容Oracle/MySQL,适合金融级强一致场景;TiDB采用计算存储分离架构,兼容MySQL,支持HTAP,更适合互联网业务。两者都能替代传统分库分表方案,但选型需考虑业务特性、数据规模、团队技术栈等因素。金融核心系统推荐OceanBase,互联网业务和实时分析场景更适合TiDB。随着技术发展,分布式数据库正朝着HTAP融合、云原生和智能化方向演进。原创 2025-10-09 16:38:18 · 1079 阅读 · 0 评论 -
深入浅出数据库执行计划:从入门到精通的实战指南
摘要:执行计划是数据库性能优化的关键工具,它揭示了SQL查询的具体执行路径。本文系统讲解了MySQL执行计划的核心原理与实战技巧,包括12个核心字段的详细解析、索引优化策略(如最左前缀原则、覆盖索引)、Join算法选择(嵌套循环/哈希连接)、排序与分组优化等。通过工具类代码展示了如何在Java程序中集成执行计划分析,并提供了三个典型优化案例。文章强调理解执行计划能帮助开发者定位性能瓶颈,将慢查询从分钟级优化到毫秒级,适合开发工程师和DBA提升SQL优化能力。原创 2025-10-06 11:26:39 · 993 阅读 · 0 评论 -
从 MySQL 到 TiDB:分布式数据库的无缝迁移与实战指南
TiDB是一款兼容MySQL协议的分布式SQL数据库,解决了传统MySQL在数据量激增时的扩展性问题。其核心架构采用计算-存储分离设计,包含TiDB Server(计算层)、PD Server(元数据层)和TiKV Server(存储层),支持水平扩展、自动分片和故障转移。相比MySQL,TiDB原生支持分布式事务,无需分库分表,适合TB到PB级数据场景。文章详细介绍了从环境搭建、表设计优化到Java应用集成的全流程实践,并提供了性能调优方案和生产环境部署建议。原创 2025-09-13 16:56:03 · 1296 阅读 · 0 评论 -
数据库迁移零停机:从理论到实战的完美演进方案
本文系统介绍了数据库零停机迁移的核心技术与实践方案。作者通过支付系统5000万交易记录迁移案例,提出"双写+同步+校验+切换"的迁移架构模型,并详细阐述了"五阶段迁移法":准备阶段的环境搭建与方案设计、初始化同步阶段的数据导出导入、双写阶段的数据一致性保障、校验阶段的数据比对,以及切换阶段的平滑过渡。针对大表迁移、同步延迟等常见问题提供了具体解决方案,包括并行迁移工具使用、双写异步化处理等。文章强调数据库迁移是涉及业务、技术、运维的系统性工程,零停机迁移的核心价值在于原创 2025-09-11 17:19:34 · 1701 阅读 · 0 评论 -
从 0 到 1 攻克海量数据同步:架构设计、实战案例与性能优化全指南
摘要:本文深入探讨了海量数据同步在现代系统中的关键作用,揭示了数据不一致可能导致企业年均1500万美元损失的现实问题。文章对比分析了定时任务、CDC、消息队列等主流同步技术,重点介绍了基于CDC(变更数据捕获)的高效同步方案,该方案相比传统方法吞吐量提升10-100倍且保持毫秒级延迟。通过电商平台案例,详细展示了从MySQL到Elasticsearch和Redis的全量+增量同步实现,包括Debezium配置、Flink流处理、数据一致性校验等核心环节。原创 2025-09-06 17:38:34 · 1255 阅读 · 0 评论 -
万字长文详解 MyCat 分表分库:从 0 到 1 构建高可用订单系统
本文介绍了使用MyCat实现电商订单系统分表分库的完整方案。当单表数据量超过千万级时,MySQL性能显著下降,MyCat作为分布式数据库中间件可通过透明分片解决这一问题。文章详细讲解了MyCat核心原理、订单表分片策略设计(按用户ID分库+按时间分表)、环境搭建与配置,并提供了基于SpringBoot的完整实现代码。此外还介绍了MyCat高级特性(读写分离、高可用、全局表)、性能优化技巧以及生产环境部署监控方案。针对数据一致性、扩容迁移等常见问题给出了具体解决方案,为高并发订单系统提供了可落地的分表分库实践原创 2025-09-06 11:10:45 · 1051 阅读 · 0 评论 -
从 0 到 1 掌握 ShardingSphere:订单表分表分库实战指南
从 0 到 1 掌握 ShardingSphere:订单表分表分库实战指南原创 2025-09-05 11:20:30 · 1018 阅读 · 0 评论 -
千万级订单表加字段:从 “不敢动“ 到 “大胆改“ 的实战指南
本文针对千万级订单表新增字段的操作风险,系统性地介绍了四种解决方案及其适用场景。文章首先分析了千万级订单表的特殊性(数据量大、高并发访问、性能敏感),然后深入讲解了MySQL表结构变更的底层原理。核心内容是对四种新增字段方案的详细解析:1. 直接ALTER TABLE(简单但风险高);2. Online DDL(平衡风险与复杂度);3. 影子表迁移(最安全但最复杂);4. 分表分库场景下的特殊处理。每种方案都包含操作步骤、代码实现和优缺点分析。文章还强调了操作前后的验证优化工作,并提供了常见问题的解决方案。原创 2025-09-01 10:59:09 · 1512 阅读 · 0 评论 -
MySQL 错误码
本文系统梳理了MySQL常见错误码及其解决方法,涵盖连接通信、SQL语法、数据完整性、资源权限、存储引擎等五类核心问题。针对每个错误码(如1045权限拒绝、1062唯一约束冲突等),详细分析触发场景、错误含义并提供具体解决方案,包括SQL示例、配置调整和Java处理代码。文章还总结了错误排查的通用方法论,强调通过日志分析、分层排查和版本兼容性检查来高效解决问题。掌握这些错误码知识,能帮助开发者快速定位和解决数据库问题,提升系统稳定性。原创 2025-08-22 10:48:54 · 1786 阅读 · 0 评论 -
从 MySQL 到 TiDB:Java 工程师必学的分布式数据库实战指南
本文为Java工程师详解TiDB分布式数据库的实战指南。从传统MySQL面临的性能瓶颈切入,分析TiDB作为兼容MySQL协议的分布式数据库优势,包括水平扩展能力、高可用设计和云原生特性。深入解析TiDB架构的三层组件(TiDB Server计算层、TiKV存储层和PD调度层)及其协作原理。提供Java集成TiDB的完整实践方案,涵盖Docker环境搭建、表结构设计、JDBC连接配置、MyBatis整合示例,以及事务处理、批量操作等关键场景代码实现。原创 2025-08-07 22:24:48 · 652 阅读 · 0 评论 -
从 MySQL 到 Java:字段类型对应全解析,避坑指南看这篇就够了
本文全面解析MySQL与Java字段类型的映射关系,涵盖数值型、字符串型、日期时间型等基础类型,以及枚举、JSON、二进制等特殊类型的处理方法。通过10+实战案例,详细分析了常见问题如整数溢出、日期时区差异、精度丢失等,并提供解决方案。文章还介绍了MyBatis和JPA等ORM框架中的类型映射技巧,包括TypeHandler和Converter的使用。最后通过完整的用户表示例,展示了类型映射的最佳实践,帮助开发者避免数据转换错误,提升系统稳定性。原创 2025-07-28 16:16:53 · 1347 阅读 · 0 评论 -
mysql 历次版本号,及每个版本更新的内容
MySQL自1995年发布以来经历了多次重大版本更新。早期版本如3.23(1999)引入BerkeleyDB存储引擎,4.0(2002)加入InnoDB引擎支持事务。5.x系列逐步引入视图、触发器、分区表等企业级特性,5.5(2010)起InnoDB成为默认引擎。5.7(2015)支持JSON类型,8.0(2018)重构数据字典并改进JSON支持,默认字符集改为utf8mb4。每个版本都在性能优化、功能增强和稳定性提升方面取得显著进展,使MySQL成为最流行的关系型数据库之一。原创 2025-07-28 09:56:09 · 1229 阅读 · 0 评论 -
从 MySQL 到 OceanBase:分布式时代,为什么这款国产数据库成了 Java 开发者的新宠?
《从MySQL到OceanBase:Java开发者如何应对分布式数据库挑战》 随着业务规模爆发式增长,传统MySQL在分库分表、跨库事务和扩容方面面临瓶颈。OceanBase作为蚂蚁集团自研的分布式数据库,凭借高可用、强一致性和MySQL高度兼容性,成为应对高并发、海量数据的理想选择。 核心优势: 分布式架构:自动分片+多副本机制,支持PB级数据,性能达MySQL的5-10倍; 无缝迁移:兼容90%的MySQL语法与JDBC协议,Java项目可低成本切换; 金融级可靠性:多机房部署下RPO=0,支撑双11每原创 2025-07-15 14:09:38 · 1193 阅读 · 0 评论 -
MySQL Explain 详解:从入门到精通,让你的 SQL 飞起来
EXPLAIN是 MySQL 提供的一个诊断工具,它可以模拟 MySQL 优化器执行 SQL 语句的过程,输出 SQL 语句的执行计划。通过分析执行计划,我们可以了解 SQL 的执行细节,从而发现潜在的性能问题,进行针对性优化。原创 2025-07-12 17:31:15 · 1079 阅读 · 0 评论 -
MySQL 数据备份与恢复
MySQL 数据备份与恢复是保障数据安全的关键策略。通过合理选择备份方法和策略,以及正确进行数据恢复,可以在数据丢失或损坏的情况下快速有效地恢复数据,保障系统的稳定运行。在实际应用中,需要根据业务需求和数据重要性制定适合的备份与恢复策略,并定期进行测试和演练,确保备份与恢复的有效性。原创 2024-11-10 21:01:35 · 826 阅读 · 0 评论 -
深入剖析 MySQL:一条 SQL 语句的执行之旅
通过对 MySQL 中一条 SQL 语句执行过程的详细分析,我们可以看到 SQL 语句的执行是一个复杂的过程,涉及到多个组件的协同工作。了解这个过程对于优化数据库查询、提高系统性能非常重要。在实际应用中,我们可以通过合理设计数据库结构、选择合适的存储引擎、创建有效的索引等方式,提高 SQL 语句的执行效率。原创 2024-11-10 20:43:20 · 1254 阅读 · 0 评论 -
MongoDB 基础与应用
MongoDB 是一种开源的非关系型数据库管理系统,属于文档型数据库。它采用了面向文档的数据存储方式,将数据存储为类似 JSON 的文档结构,而不是传统关系型数据库中的表格形式。这种灵活的数据模型使得 MongoDB 能够适应各种不同的数据结构和应用场景。MongoDB 作为一种强大的非关系型数据库,具有灵活的数据模型、高可扩展性、丰富的查询语言和高可用性等特点。对于 Javaer来说,掌握 MongoDB 的基础与应用,能够为构建现代化的应用系统提供更多的选择和优势。原创 2024-11-08 23:08:11 · 1013 阅读 · 0 评论 -
MySQL 索引
MySQL 索引是提高数据库性能的重要手段。通过选择合适的索引类型、创建必要的索引、定期维护索引和监控索引使用情况,可以大大提高数据库的查询性能。深入理解 MySQL 索引的原理和使用方法,对于构建高效的数据库应用至关重要。原创 2024-11-08 22:59:30 · 1052 阅读 · 0 评论 -
MySQL 索引深入解析
MySQL索引是数据库性能优化的重要手段之一。通过创建索引,我们可以让数据库系统不再需要扫描全表,从而快速地找到数据。然而,索引的使用并非没有代价,索引本身需要占用存储空间,同时也会在插入、删除和更新操作时带来额外的性能开销。因此,理解索引的工作原理,以及何时使用索引,何时不使用索引,对于编写高效的数据库查询和设计高效的数据库结构是至关重要的。原创 2023-11-03 18:44:38 · 273 阅读 · 0 评论 -
MySQL vs. Oracle: 函数比较与联系
MySQL和Oracle是两个广泛使用的关系型数据库管理系统(RDBMS),它们提供了丰富的函数库来处理和操作数据。本文将详细介绍MySQL和Oracle的所有函数,并逐一介绍它们的相同和不同之处,以帮助读者更好地理解和使用这两个数据库系统的函数功能。它们在函数的语法和功能上存在一些差异,我们需要根据具体的数据库系统选择适合的函数来满足应用需求。原创 2023-07-26 09:58:03 · 2852 阅读 · 0 评论 -
MySQL 相关问题集锦, 持续更新
MySQL 相关问题集锦, 持续更新原创 2023-07-25 20:12:01 · 1577 阅读 · 0 评论 -
MySQL MyISAM和InnoDB索引底层数据结构解析
MySQL是一种常用的关系型数据库管理系统,广泛应用于各种应用场景中。在MySQL中,有两种常见的存储引擎:MyISAM和InnoDB。原创 2023-07-24 17:58:30 · 4895 阅读 · 1 评论 -
数据库乐观锁和悲观锁的使用
乐观锁适用于高并发读写操作和避免死锁的场景,而悲观锁适用于需要长时间持有锁或需要确保数据一致性的场景。在实际应用中,根据具体的业务需求和并发访问情况,选择合适的锁机制可以提高系统的并发性能和数据的一致性。乐观锁的核心思想是在进行数据更新时,先读取数据的版本信息,然后在更新时比较版本信息,如果版本一致,则更新成功,否则更新失败。悲观锁假设并发操作之间会发生冲突,需要在访问数据之前对数据进行加锁,适用于需要长时间持有锁或需要确保数据一致性的场景。悲观锁适用于需要长时间持有锁或需要确保数据的一致性的场景。原创 2023-07-20 15:33:19 · 3654 阅读 · 0 评论 -
MySQL日期格式及日期函数
本文详细介绍了MySQL中的日期格式及日期函数。通过对日期格式的解释和常用日期函数的讲解,您应该对MySQL中的日期操作有了更深入的了解。日期格式包括DATE、TIME、DATETIME和TIMESTAMP,可以根据需求选择合适的格式进行存储和处理。原创 2023-07-06 17:28:08 · 13444 阅读 · 0 评论 -
MYSQL on duplicate key update和replace into 详解
MYSQL on duplicate key update和replace into 详解原创 2023-05-15 15:19:17 · 2272 阅读 · 0 评论 -
MySQL delete语句1064错误,因为删除语句中 表名不能用别名
错误:DELETE FROM app_member_student ms WHERE ms.`id` = '75413641a7bc44d6b18824a291f0ef66';正确:DELETE FROM app_member_student WHERE id = '75413641a7bc44d6b18824a291f0ef66';原创 2018-09-07 11:29:57 · 3084 阅读 · 0 评论 -
MYSQL排序
当表是myisam时:SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.大致...转载 2018-09-03 18:26:32 · 617 阅读 · 0 评论
分享