当前位置: 首页 > news >正文

面试题记录:分库分表

分库分表的原因:
超大规模数据量导致数据查询慢,关联查询慢

垂直:按照表字段进行处理
水平:按照数据行进行处理

垂直分库
按业务模块切分数据库,例如将用户、订单、商品等业务表独立存储在不同库中。‌‌
‌优点‌:业务解耦、降低单库连接压力、支持独立优化硬件资源。
‌缺点‌:无法解决单表数据量过大问题,跨库事务复杂且无法直接 JOIN

垂直分表
将大表按字段访问频率拆分,例如主表存核心字段(如用户 ID、姓名),扩展表存低频字段(如地址、简介)。‌‌
‌优点‌:减少单行数据 I/O 压力,提升高频字段查询效率。
‌缺点‌:需管理表关联,查询完整数据需 JOIN 操作。‌‌

水平分库
按分片键(如用户 ID、时间)将同一表数据分布到多个库,库结构相同(如按哈希取模或数值范围划分)。‌‌
‌适用场景‌:单表数据量极大且并发压力高,例如电商订单表。
‌挑战‌:跨库事务一致性、全局主键生成、扩容需数据迁移。‌‌

‌水平分表‌
将单表数据按规则拆分到同库多个表中(如表名后缀按哈希分布)。
‌适用场景‌:数据量未达分库阈值但单表性能瓶颈明显。
‌局限‌:无法缓解单机硬件资源竞争,建议优先分库。‌‌

工具与方案选择
‌ShardingSphere/ShardingJDBC‌:通过中间件实现透明化分片,支持自定义分片策略,减少代码侵入性。‌‌
‌MySQL 分区表‌:内置水平分区功能(如按 RANGE、HASH 分区),但仅限单库内分表,无法解决分布式扩展问题。‌‌

http://www.gsyq.cn/news/1434.html

相关文章:

  • 微信小程序语音转文字(插件:微信同声传译)
  • H5滚动截取长图
  • linux安装vnc远程桌面
  • 【EI-JA期刊同步征稿|武汉科技大学主办】第六届医学人工智能国际学术会议(ISAIMS 2025)
  • 备战软考5
  • AI GEO领域发展机遇大
  • 数据结构与算法-21.优先队列
  • 普科科技 PKC7030 高频电流探头调零指南
  • 在AI技术快速实现创意的时代,挖掘真实需求成为核心竞争力——某知名实时语音转录系统需求洞察
  • 海明码破解指南:从让人头疼的软考题到内存背后的无名英雄
  • 第5篇、 Kafka 数据可靠性与容错机制
  • Shell符号详解
  • Dynamics 365 CRM + Power Platform 技术顾问:解锁 IT 高薪赛道,长沙爱码士 IT 助你全程通关
  • 295、嫦娥
  • rmrs 题解
  • 2025 杭电暑期多校训练
  • 友链
  • qoj6279 Honeycomb
  • Vue 将api 获取的 json 数据保存到本地
  • Claude Code新手入门指南:AI编程助手完全教程
  • cmov用法一例
  • Codeforces Round 1049 (Div. 2)(A~D)
  • Python基础-27 match-case 使用教程
  • 准备工作之结构体[基于郝斌课程]
  • 软工课程第一次作业
  • 初始化树莓派(Raspberry Pi)系统并以 ssh 连接教程(只需读卡器、手机开热点,无需显示器) - tsunchi
  • CF
  • Ubuntu 安装 VSCode
  • A
  • 【2024-2025第二学期】助教工作学期总结