垂直分割和水平分割

article/2024/12/26 21:20:58

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1,水平分割:

例:QQ的登录表。假设QQ的用户有100亿,如果只有一张表,每个用户登录的时候数据库都要从这100亿中查找,会很慢很慢。如果将这一张表分成100份,每张表有1亿条,就小了很多,比如qq0,qq1,qq1...qq99表。

用户登录的时候,可以将用户的id%100,那么会得到0-99的数,查询表的时候,将表名qq跟取模的数连接起来,就构建了表名。比如123456789用户,取模的89,那么就到qq89表查询,查询的时间将会大大缩短。

这就是水平分割。

 

2,垂直分割:

垂直分割指的是:表的记录并不多,但是字段却很长,表占用空间很大,检索表的时候需要执行大量的IO,严重降低了性能。这时需要把大的字段拆分到另一个表,并且该表与原表是一对一的关系。

例如学生答题表tt:有如下字段:

Id name 分数 题目 回答

其中题目和回答是比较大的字段,id name 分数比较小。

如果我们只想查询id为8的学生的分数:select 分数 from tt where id = 8;虽然知识查询分数,但是题目和回答这两个大字段也是要被扫描的,很消耗性能。但是我们只关心分数,并不想查询题目和回答。这就可以使用垂直分割。我们可以把题目单独放到一张表中,通过id与tt表建立一对一的关系,同样将回答单独放到一张表中。这样我们插叙tt中的分数的时候就不会扫描题目和回答了。

 

3,其他要点:

1)存放图片、文件等大文件用文件系统存储。数据库只存储路径,图片和文件存放在文件系统,甚至单独存放在一台服务器(图床)。

2)数据参数配置。

最重要的参数就是内存,我们主要用的innodb引擎,所以下面两个参数调的很大:

innodb_additional_mem_pool_size=64M

innodb_buffer_pool_size=1G

对于MyISAM,需要调整key_buffer_size,当然调整参数还是要看状态,用show status语句可以看到当前状态,以决定该调整哪些参数。

 

4,合理的硬件资源和操作系统

如果机器的内存超过4G,那么应当采用64位操作系统和64位MySQL。


转载于:https://my.oschina.net/ydsakyclguozi/blog/267620


http://chatgpt.dhexx.cn/article/AYMipMfp.shtml

相关文章

RIP的水平分割及触发更新(超详细,小白基础实验)

RIP的水平分割及触发更新 希望有需要的小伙伴可以参考参考,写的不好,请多包涵! 基本概念: 1:水平分割(Split Horizon)指的是RIP从某个接口接收到的路由信息,不会从该接口再发给邻居…

分库分表的垂直分割与水平分割

1、垂直分库 根据业务耦合性,将关联度低的不同表存储在不同的数据库。做法与大系统拆分为多个小系统类似,按业务分类进行独立划分。与“微服务治理”的做法相似,每个微服务使用单独的一个系统。如图: 2、垂直分表 基于数据表中的…

一起聊聊 dB、dB、dBm、dBi 吧!

点击上方“小麦大叔”,选择“置顶/星标公众号” 福利干货,第一时间送达 dB应该是无线通信中最基本、最习以为常的一个概念了。我们常说“传播损耗是xx dB”、“发射功率是xx dBm”、“天线增益是xx dBi”……有时候,这些长得很像的dBx们可能被…

单位意义:dB、dBm与dBw、dBμ与dBV、dBi与dBd、dBFS

dB单位概念一直是以前比较模糊的地方,机缘下,就整体的把一些相关的dB单位的文献统一看了一些,下面就简单的解释一下这些基本单位的意义和基本换算。 dB 简单解释下dB产生的由来,dB是decibel的缩写,意即十分之一贝尔(bel)&#xf…

分贝dB、dBm、dBw

文章目录 【1. 物理意义】1.1 功率增益1.2 幅值增益 【2. 3dB】【3. dBm、dBw】 【1. 物理意义】 分贝(decibel,/dɛsɪ.bɛl/)是量度两个相同单位之数量比例的计量单位,常用dB表示。 1.1 功率增益 A ( P ) ( d B ) 10 l g ( P…

一分钟读懂dB、dBm、dBw的区别

dB应该是无线通信中最基本、最习以为常的一个概念了。我们常说“传播损耗是xx dB”、“发射功率是xx dBm”、“天线增益是xx dBi”…… 有时,这些长得很像的dBx们可能被弄混,甚至造成计算失误。它们究竟有什么区别呢? 这事不得不先从dB说起。…

EMC常见术语-dB、dBm、dBw以及如何计算

1. 手把手教:如何计算dB、dBm、dBw…… dB应该是无线通信中最基本、最习以为常的一个概念了。我们常说“传播损耗是xx dB”、“发射功率是xx dBm”、“天线增益是xx dBi”…… 有时,这些长得很像的dBx们可能被弄混,甚至造成计算失误。它们究…

dB dBm dBW 的关系与换算

前言 这些都叫“分贝数”,表示“相对”的思想。 “dB” 字段可看作 “相对于”: dBdBm (dBmW):相对于 1 mW 是多少dBW:相对于 1 W 是多少 文中采用方括号 [ ] 表示采用基本功率定义的分贝数 一、定义 1. dB 定义&#xff1a…

dBm和dB(纯计数单位)

分贝毫瓦(dBm) 分贝毫瓦(dBm,全写为“decibel relative to one milliwatt”)为一个指代功率的绝对值,而不同于dB只是一个相对值。 任意功率P(mW)与xdBm换算的公式如下: 以及 例如,1毫瓦(1 mW)换算成分贝毫…

DDL语言(添加、修改、删除)

数据库意义:数据存储,数据管理 DML语言:数据操作语言(insert、update、delete) 添加(insert) 语法: insert into 表名(字段1,字段2,字段3,...) values(值1),(值2),(值3),(...) 例&a…

使用数据库DDL语言创建数据库和基本表?(SQL Server 2014)

摘要:微信搜索【三桥君】 检索:《数据库系统原理》课程实验报告——实验一 建立数据库和基本表结构 说明:本实验是在SQL Server 2014版本数据库下操作完成的。 本实验通过举例创建一个数据库、一张有定义的表、以及添加数据到该表的实验过程&…

实验1 SQL的DDL语言和单表查询

第1关:创建供应商表S(SNO,SNAME,STATUS,CITY) 任务描述 创建供应商表S(SNO,SNAME,STATUS,CITY) 相关知识 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市…

DML语言和DDL语言(数据库)

数据库DML,DDL语言:使用平台, DDL语言 1.create table 2.Create index 3.Alter table 4.Alter index 5.Drop index 1.展示数据库 2.使用某个数据库 3.展示表 4.查询表(首先你要确定,你这个数据库有表) 5.创建数…

mysql数据库-DDL语言

目录 1.DDL是什么? 2.有哪些常用的操作 1.查看数据库 2.创建数据库 2.删除数据库 3.添加查看表 4.删除表 5.修改表 (1)修改表类型 (2)增加表字段 (3)删除表字段 (4)修改字段名 &#x…

SQL语句之DDL语言

说明:DDL(Data Definition Language,数据定义语言),用来定义数据库对象(数据库、表),包括了数据库和表的创建、查询、使用和删除操作。 一、数据库操作 新安装的数据库,默认有以下四个数据库&…

DDL语言

其语句包括动词CREATE,ALTER和DROP。在数据库中创建新表或修改、删除表(CREATE TABLE 或 DROP TABLE);为表加入索引等。 mysql是一个关系型数据库,库里面包含若干个表,而每一张表都是由行和列组成。 打开Navicat 1.0…

数据库:DML语言和DDL语言

文章目录 一、DML语言(数据操作语言)1.插入语句(1)方式一(2)方式二(3)两种方式比较 2.修改语句(1)修改单表的记录(2)修改多表的记录(补充) 3.删除语句(1)方式一(2)方式二(3)方式一与方式二区别(⭐) 二、DDL语言1.库的管理2.表的管理(1)表的创建A.语法B.常…

ddl是什么意思网络语_DDL(数据定义语言)

DDL,是对数据库内部的对象进行创建,删除,修改等的操作语言。它和DML语言最大的区别是DML只是对表内部数据的操作,而不涉及到表的定义,结构的修改,更不会涉及到其它对象。 1.连接数据库: 注:1.mysql代表客户端命令,-u后面跟连接的数据库用户,-p表示需要输入密码。 2.命令…

数据库定义语言(DDL)详解

数据库定义预压(DDL 语言)是重要的语言之一。包含三个关键字:CREATE,DROP,ALTER。 数据库语言都遵循巴科斯范式,其语言规范如下所示:L利用CREATE关键字可以实现定义:定义数据库,定义表,定义索引,定义视图等…

枚举到底是个什么鬼类型?

前言 枚举是很多面向对象语言都会有的一种类型,它可以将表达同一类型的变量组合成一个集合,组成一个常量集 在Java中也有枚举类型,是用enum关键字来表示的 枚举常用来表示一个常量集,用来限定变量的取值,只能在枚举…