
数据库
文章平均质量分 89
数据库相关的资料
java干货仓库
公众号和名字一样,关注公众号每天都会推送一篇大厂面试题资讯
展开
-
如何进行SQL调优?
每个优化场景都需要结合具体的执行计划分析、业务特点和数据库监控数据来制定最合适的方案。建议建立完善的SQL审核机制和性能监控体系,实现持续优化。:适当反范式化减少JOIN。:对索引列使用函数或运算。严格避免SELECT *:对复杂JOIN先过滤。:对LOB字段单独查询。:将大字段拆分到单独表。:确保小表作为驱动表。原创 2025-04-25 14:51:58 · 582 阅读 · 0 评论 -
什么是MVCC?
MVCC 是一种高效的并发控制机制,通过数据版本化和读写分离,实现了高并发性和一致性视图。原创 2025-03-18 18:20:09 · 928 阅读 · 0 评论 -
undo log、redo log和binlog
在数据库系统中,和是三种核心日志,分别服务于不同功能。fill:#333;执行UPDATE(修改数据页)记录旧值(事务开始前)记录数据页变更(事务执行中)提交事务后写入逻辑操作崩溃恢复时重放回滚时恢复旧值。原创 2025-04-16 22:35:15 · 1024 阅读 · 0 评论 -
Sharding-jdbc 底层是怎么实现的?
ShardingJDBC 作为一款轻量级的数据库分库分表中间件,其核心设计目标是。的分布式数据库访问解决方案,适合云原生时代的轻量化部署需求。ShardingJDBC 通过。原创 2025-04-15 15:48:37 · 636 阅读 · 0 评论 -
Mysql 热点数据更新有哪些解决方案?
分散热点:通过分库分表、缓存、读写分离减轻单点压力减少锁竞争:优化事务、使用行锁或乐观锁合并操作:批量处理减少数据库访问次数异步处理:将实时性要求不高的操作异步化监控调优:持续监控并根据实际情况调整策略根据业务场景选择合适的优化组合,才能有效解决热点数据更新问题。原创 2025-04-11 00:23:01 · 444 阅读 · 0 评论 -
TiDB 有时候会出现数据写不进去的情况,这是什么原因导致的?
集群资源不足(CPU、内存、磁盘 I/O)。Region 分布不均或热点问题。事务冲突或锁等待。TiKV 写入限流或 Raft 日志堆积。PD 调度问题。TiDB 配置问题(事务大小限制、GC 压力)。网络问题(延迟、带宽不足)。版本兼容性问题。通过监控工具、日志分析和参数调整,可以逐步定位并解决问题。如果问题复杂,建议联系 PingCAP 官方支持团队获取帮助。原创 2025-03-18 18:31:46 · 688 阅读 · 0 评论 -
Mysql B+树高度如何计算?
作为索引结构,其高度增加会直接影响查询性能(每次高度增加意味着多一次磁盘 I/O)。以下是 B+树高度增加的。通过合理设计表结构和索引,可以有效控制 B+树高度,保持查询性能稳定。MySQL 的 InnoDB 存储引擎使用。原创 2025-04-10 17:33:20 · 953 阅读 · 0 评论 -
MySQL Online DDL底层的几种实现方式?
通过合理选择算法和锁策略,Online DDL可以在保证业务连续性的同时完成表结构变更。原创 2025-03-28 10:16:18 · 937 阅读 · 0 评论 -
MySQL为什么选择InnoDB做为存储引擎?
在面试中,如果被问到“为什么选择InnoDB作为存储引擎”,你可以从技术优势和应用场景的角度进行回答,展现你对数据库引擎的理解和实际应用经验。这意味着在高并发场景下,多个事务可以同时操作同一张表的不同行,而不会互相阻塞,从而大大提高了并发性能。,即使在数据库异常崩溃的情况下,也能通过日志文件(redo log)恢复数据,确保数据的持久性和一致性。:在我们的系统中,通过合理配置InnoDB的缓冲池大小,显著提升了查询性能。:不支持事务和行级锁,适合读多写少的场景,但在需要事务支持的系统中不适用。原创 2025-03-19 23:00:58 · 746 阅读 · 0 评论 -
怎么实现数据库数据平滑迁移?
充分准备:明确目标、备份数据、选择工具。合理设计:根据业务需求选择全量迁移、增量迁移或双写方案。严格验证:确保数据一致性和业务连续性。监控优化:迁移后持续监控和优化目标数据库。通过以上步骤,可以实现数据库的平滑迁移,最大限度地减少对业务的影响。原创 2025-03-18 18:29:05 · 640 阅读 · 0 评论 -
一文搞懂mysql,欢迎纠正补充~
锁是用来解决并发事务的访问问题,我们知道事务并发执行时可能带来的各种问题,最大的一个难点是:一方面要最大程度地利用数据库的并发访问,另外一方面还要确保每个用户能以一致的方式读取和修改数据,尤其是一个事务进行读取操作,另一个同时进行改动操作的情况下,这种情况下可能发生脏读、不可重复读、幻读的问题。在 MVCC 中,每个事务操作都会创建一个版本(version)而不是修改原始数据,因此每个事务都能够操作当前版本以及过去的版本,避免在读取当前事务的数据时由正在运行的其他事务进行修改或者删除导致的数据不一致问题。原创 2024-02-21 22:10:47 · 1006 阅读 · 0 评论 -
垂直拆分、水平拆分、分库分表策略、主从复制、读写分离
垂直拆分就是要把表按功能模块划分到不同数据库中,如果你的系统是分布式微服务的架构,那就更好理解了,一般一个微服务对应这一个或多个数据库。比如电商系统一般都会有用户中心、订单、商品等等。用户中心数据库存的都是用户信息相关的,商品数据库存的都是商品相关的数据,订单数据库则是存的订单相关的。...原创 2022-08-30 19:00:00 · 3824 阅读 · 0 评论