Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库表的垂直拆分和水平拆分

数据库表的垂直拆分和水平拆分

作者头像
七点一刻
发布于 2023-03-09 07:09:05
发布于 2023-03-09 07:09:05
2.2K00
代码可运行
举报
运行总次数:0
代码可运行

表的垂直拆分和水平拆分

垂直拆分

垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表

20191028234705.png 通常我们按以下原则进行垂直拆分:

  1. 把不常用的字段单独放在一张表;
  2. textblob等大字段拆分出来放在附表中;
  3. 经常组合查询的列放在一张表中;

垂直拆分更多时候就应该在数据表设计之初就执行的步骤,然后查询的时候用join关键起来即可;

水平拆分

水平拆分是指数据表行的拆分,表的行数超过 200 万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放。

水平拆分的一些技巧

1. 拆分原则 通常情况下,我们使用取模的方式来进行表的拆分;比如一张有 400w 的用户表users,为提高其查询效率我们把其分成4张表users1,users2,users3,users4 通过用 ID 取模的方法把数据分散到四张表内Id%4+1 = [1,2,3,4] 然后查询,更新,删除也是通过取模的方法来查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$_GET['id'] = ,
% +  = ,  
$tableName = 'users'.'2'
Select * from users2 where id = ;

在 insert 时还需要一张临时表uid_temp来提供自增的ID,该表的唯一用处就是提供自增的ID;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
insert into uid_temp values(null);

得到自增的 ID 后,又通过取模法进行分表插入;

注意,进行水平拆分后的表,字段的列和类型和原表应该是相同的,但是要记得去掉 auto_increment 自增长

另外

  • 部分业务逻辑也可以通过地区,年份等字段来进行归档拆分;
  • 进行拆分后的表,只能满足部分查询的高效查询需求,这时我们就要在产品策划上,从界面上约束用户查询行为。比如我们是按年来进行归档拆分的,这个时候在页面设计上就约束用户必须要先选择年,然后才能进行查询;
  • 在做分析或者统计时,由于是自己人的需求,多点等待其实是没关系的,并且并发很低,这个时候可以用union把所有表都组合成一张视图来进行查询,然后再进行查询;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Create view users as select from users1 union select from users2 union.........

——摘自《表的垂直拆分和水平拆分》

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七点一刻的魔法书 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【HTML | CSS | JAVASCRIPT】一款可交互的响应式登陆注册表单,你确定不来看看嘛(附源码)
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。 💅文章概要: 各位C站的小伙伴们,上一次的文章《【HTML】耗时一下午,整理出了一个精美的响应式登陆注册表单(附源码)》得到了大家的高度认可,于是便诞生了这篇文章——可交互的响应式登陆
THUNDER王
2023/02/23
7680
【HTML | CSS | JAVASCRIPT】一款可交互的响应式登陆注册表单,你确定不来看看嘛(附源码)
期末前端web大作业:餐饮美食网站设计与实现——餐厅响应式网站制作html+css+javascript+jquery+bootstarp
✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】 🌎超炫酷的Echarts大屏可视化源码:【🔰 echarts大屏展示大数据平台可视化(150套) 】 🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】 🥇 关于作者: 历任研发工程师,
IT司马青衫
2022/08/19
1.4K0
期末前端web大作业:餐饮美食网站设计与实现——餐厅响应式网站制作html+css+javascript+jquery+bootstarp
【HTML | CSS | JAVASCRIPT】耗时一下午,整理出了一个精美的响应式登陆注册表单(附源码)
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。 💅文章概要: 各位C站的小伙伴们,你想要获得一款精美的响应式登录页面吗!收藏我并且关注博主,让我们拿起电脑一起练,一路火光带闪电!无论是电脑,手机还是平板都可以完美适配哦! 🤟每日
THUNDER王
2023/02/23
5470
【HTML | CSS | JAVASCRIPT】耗时一下午,整理出了一个精美的响应式登陆注册表单(附源码)
每日分享html特效篇之一个菜单栏、一个渐变背景、一个加载特效、七个导航栏特效
1.前端工程师主要利用HMTL与CSS建构页面(其中html构建骨架,css构建样式),用JavaScript获取后端数据以及完善交互以及用户体验。 2.通俗来讲,前端在一个项目里,拿到UI设计师设计的设计稿,然后实现UI设计师设计稿,调用后端程序员给的数据接口以获取数据,然后测试,最后部署上线。 3.前端可以对设计图负责,大部分情况下,不需要特别的去理解业务逻辑,因为我们90后都是玩着十几年手机电脑长大的,十几年的经验足够我们在潜意识里想明白应该怎么做,怎么去一步步实现,会有什么意外情况。 4.我感觉前端发展有个很大的缺陷----晋升问题. 正如第三点所言,作为领导必须对项目有足够的了解,显然是要重点包括业务逻辑,这点上,后端开发者需要涉及数据库逻辑,是必须要跟业务逻辑打交道的(重中之重),因此,大部分的领导岗位都是后端开发者更有晋升的机会。当然,个别公司有专门的前端组长(这也不算什么),如果说前端开发者在自己工作范围之外还要腾出时间去研究业务逻辑,属实是觉得出力不讨好(因为这样的操作需要持续很久才能看出效果),而且再怎么研究业务逻辑也不会比每时每刻跟业务逻辑打交道的后端开发者了解更多。说实在的,大部分情况下,前端在配合后端进行开发.后端需要了解业务逻辑,要跟领导和客户商量细节,露脸机会很大,在老板面前刷脸次数众多。这些都是拉开前后端程序员晋升机会差距的因素。
淼学派对
2022/11/20
2.5K0
每日分享html特效篇之一个菜单栏、一个渐变背景、一个加载特效、七个导航栏特效
玩转GSAP与barba.js,实现炫酷页面切换效果
今天我们将通过一个实战案例,来展示如何使用GSAP和barba.js制作一个炫酷的页面切换效果。该案例展示了一个在线购物网站的首页和产品页之间的切换动画。通过这个案例,大家可以学会如何结合GSAP和barba.js实现流畅的页面过渡效果,动画效果如视频所示:
前端达人
2024/06/28
4980
玩转GSAP与barba.js,实现炫酷页面切换效果
SpringBoot入门建站全系列(八)集成模板引擎(thymeleaf)渲染页面
本文不讲前后端分离,先讲下模板引擎,Springboot支持很多模板引擎,thymeleaf算是比较好用的一种。
品茗IT
2019/08/09
2K0
新鲜出炉的个人主页开源 最好看的
github:https://github.com/yigehaozi/renhuang-home
用户1287596
2024/10/07
1380
使用 HTML5 新标签 <details> 制作 Accordion 组件(赠送3个相关案例源码)
HTML5 引入了很多新的标签,其中就包括 <details> 和 <summary> 标签。使用这两个标签,我们可以很方便地实现内容的展开和折叠功能。下面我们来详细介绍一下它们的用法。
前端达人
2024/06/26
1940
使用 HTML5 新标签 <details> 制作 Accordion 组件(赠送3个相关案例源码)
计算机毕业设计HTML+CSS+JavaScript仿大型购物商城(1页)
常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求都能满足你的需求。原始HTML+CSS+JS页面设计, web大学生网页设计作业源码,画面精明,排版整洁,内容丰富,主题鲜明,非常适合初学者学习使用。 --- <font
IT司马青衫
2022/08/18
6450
计算机毕业设计HTML+CSS+JavaScript仿大型购物商城(1页)
纯HTML CSS制作导航栏 下拉菜单
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140190.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
6.7K0
【CSS动效实战(纯CSS与JS动效)】03 精美手风琴侧边栏完整示例教程 示例1
一般来说,侧边栏的位置是在左侧,咱们为了更好的展现侧边栏的效果,并且在本节中不涉及过多的内容,我们只需要直接给一个 div 宽度为 15即可,接着再到这个 div 中编写对应的侧边栏。
1_bit
2022/09/28
3.1K0
【CSS动效实战(纯CSS与JS动效)】03 精美手风琴侧边栏完整示例教程 示例1
基于HTML电商购物项目的设计与实现——html+css+javascript+jquery+bootstarp响应式图书商城
常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求都能满足你的需求。原始HTML+CSS+JS页面设计, web大学生网页设计作业源码,画面精明,排版整洁,内容丰富,主题鲜明,非常适合初学者学习使用。 --- <font
IT司马青衫
2022/08/16
9990
基于HTML电商购物项目的设计与实现——html+css+javascript+jquery+bootstarp响应式图书商城
基于html+css+javascript+jquery+bootstarp响应式网页设计——大理我的家乡旅游景点
家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠标滑过效果等,使用表格、表单补充模块,为方便新手学习页面中没有使用js有需要的可以自行添加。 <font color='#b44846' size='4px'> ❤</font> 【作者主页——🔥获取更多优质
IT司马青衫
2022/08/16
1.2K0
基于html+css+javascript+jquery+bootstarp响应式网页设计——大理我的家乡旅游景点
大一Web课程设计:企业网站——HTML+CSS+JavaScript电子购物商城(37页面)
常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求都能满足你的需求。原始HTML+CSS+JS页面设计, web大学生网页设计作业源码,画面精明,排版整洁,内容丰富,主题鲜明,非常适合初学者学习使用。 --- @TOC 一
IT司马青衫
2022/08/14
4590
大一Web课程设计:企业网站——HTML+CSS+JavaScript电子购物商城(37页面)
HTML+CSS+JS 实现登录注册界面[通俗易懂]
鉴于小伙伴们没有csdn积分,我把代码压缩成了一个压缩包,放在了gitee上面,需要的请点击下载 点击下载
全栈程序员站长
2022/09/13
26K0
HTML+CSS+JS 实现登录注册界面[通俗易懂]
html可伸缩侧边栏
写右侧侧边栏的时候,使用margin-right,会发先页面右侧溢出 这是只要再body里加入 overflow-x:hidden;即可
治电小白菜
2020/08/25
5.9K0
html可伸缩侧边栏
基于Web的个人网页响应式页面设计与实现 HTML+CSS+JavaScript(web前端网页制作课作业)
✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (1000套) 】 🧡 程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作 (110套) 】 🌎超炫酷的Echarts大屏可视化源码:【🔰 echarts大屏展示大数据平台可视化(150套) 】 🎁 免费且实用的WEB前端学习指南: 【📂web前端零基础到高级学习视频教程 120G干货分享】 🥇 关于作者: 历任研发工程师,
IT司马青衫
2022/08/17
9940
基于Web的个人网页响应式页面设计与实现 HTML+CSS+JavaScript(web前端网页制作课作业)
伸缩侧边栏
TomatoCool
2023/07/30
5200
伸缩侧边栏
【HTML+CSS+JavaScript】Animated Navigation
HelloWorldZ
2024/03/20
1230
【HTML+CSS+JavaScript】Animated Navigation
【CSS——效果实现】自适应页面(蓝桥杯真题-5136)【合集】
请通过补全 css/style.css 中代码或操作 DOM 的方式,达到根据屏幕大小显示不同布局的效果。
Rossy Yan
2025/02/18
3390
【CSS——效果实现】自适应页面(蓝桥杯真题-5136)【合集】
推荐阅读
【HTML | CSS | JAVASCRIPT】一款可交互的响应式登陆注册表单,你确定不来看看嘛(附源码)
7680
期末前端web大作业:餐饮美食网站设计与实现——餐厅响应式网站制作html+css+javascript+jquery+bootstarp
1.4K0
【HTML | CSS | JAVASCRIPT】耗时一下午,整理出了一个精美的响应式登陆注册表单(附源码)
5470
每日分享html特效篇之一个菜单栏、一个渐变背景、一个加载特效、七个导航栏特效
2.5K0
玩转GSAP与barba.js,实现炫酷页面切换效果
4980
SpringBoot入门建站全系列(八)集成模板引擎(thymeleaf)渲染页面
2K0
新鲜出炉的个人主页开源 最好看的
1380
使用 HTML5 新标签 <details> 制作 Accordion 组件(赠送3个相关案例源码)
1940
计算机毕业设计HTML+CSS+JavaScript仿大型购物商城(1页)
6450
纯HTML CSS制作导航栏 下拉菜单
6.7K0
【CSS动效实战(纯CSS与JS动效)】03 精美手风琴侧边栏完整示例教程 示例1
3.1K0
基于HTML电商购物项目的设计与实现——html+css+javascript+jquery+bootstarp响应式图书商城
9990
基于html+css+javascript+jquery+bootstarp响应式网页设计——大理我的家乡旅游景点
1.2K0
大一Web课程设计:企业网站——HTML+CSS+JavaScript电子购物商城(37页面)
4590
HTML+CSS+JS 实现登录注册界面[通俗易懂]
26K0
html可伸缩侧边栏
5.9K0
基于Web的个人网页响应式页面设计与实现 HTML+CSS+JavaScript(web前端网页制作课作业)
9940
伸缩侧边栏
5200
【HTML+CSS+JavaScript】Animated Navigation
1230
【CSS——效果实现】自适应页面(蓝桥杯真题-5136)【合集】
3390
相关推荐
【HTML | CSS | JAVASCRIPT】一款可交互的响应式登陆注册表单,你确定不来看看嘛(附源码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验