当前位置:网站首页>数据库存储---表分区
数据库存储---表分区
2022-07-07 05:48:00 【蓝天⊙白云】
随着项目的发展,数据库的单表数据也越来越多,相关操作也就越来越慢,这个时候我们要怎么才能提高我们的相关操作效率呢?很多人都听说过分库分表,但是还有一个分区的方式可能被忽略了,在数据量还未达到千万级别的时候,我们也许还能够使用分区的方式,让一个表的数据分布在不同的文件上面,当然我们要清楚我们的表数据都是按照文件的方式存放在磁盘上面的,分区和分表是不同的意思,分区是指将一个表的数据按照条件分布到不同的文件上面,未分区前都是存放在一个文件上面的,但是它还是指向的同一张表,只是把数据分散到了不同文件而已,但是分表却是将数据分散到了不同的表,结构虽然相同,但是表的名字发生了变化。分区有助于我们降低每次操作的数据,从而提高性能。
遇到这种大数据量的问题,我们可以通过以下思路进行解决:
1.分流(原则就是:尽量使每次操作的数据的基数减少 ):
1.1.用和不用、常用和不常用分开。
1.2.对数据库存放的数据:分区、分库、分表 。
1.3.对文件存放的数据:拆文件。
1.4.考虑分批处理。
2.缓存技术:读多写少用缓存。
3.数据库优化:合理设计数据库结构、合理构建索引、数据库集群 。
4.处理优化:优化Sql、考虑使用临时表、中间表。
5.合理使用NoSql:Mongodb、Redis、HBase等 。
6.分布式大数据处理方案 :Hadoop、Spark、Storm等。
这里我们主要需要了解的是表如何进行分区,分区有什么优缺点以及分区又有哪些注意事项。这里我们是以mysql进行举例。
我们首先看下分区有什么优缺点:
1.优点:
• 进行逻辑数据分割,分割数据能够有多个不同的物理文件路径
接下来我们看下的分区方式:
1.RANGE分区:给定一个连续区间的列值 。
创建方式如下:
-
CREATE
TABLE tbl_users1 (
-
uuid
INT
NOT
NULL,
-
name
VARCHAR(
20),
-
registerTime
VARCHAR(
100)
-
)
-
PARTITION
BY
RANGE (uuid) (
-
PARTITION p0
VALUES LESS THAN (
5),
-
PARTITION p1
VALUES LESS THAN (
10),
-
PARTITION p2
VALUES LESS THAN (
15),
-
PARTITION p3
VALUES LESS THAN MAXVALUE
-
);
2.LIST分区:LIST是列值匹配一个离散值集合中的某个值来进行选择。
创建方式如下:
-
CREATE
TABLE tbl_users2 (
-
uuid
INT
NOT
NULL,
-
name
VARCHAR(
20),
-
registerTime
VARCHAR(
100)
-
)
-
-
PARTITION
BY List (uuid) (
-
PARTITION p0
VALUES
in (
1,
2,
3,
5),
-
PARTITION p1
VALUES
in (
7,
9,
10),
-
PARTITION p2
VALUES
in (
11,
15)
-
);
3.HASH分区:用户定义的表达式的返回值来进行hash计算之后选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算,这个函数必须产生非负整数值。
创建方式如下:
-
CREATE
TABLE tbl_users4 (
-
uuid
INT
NOT
NULL,
-
name
VARCHAR(
20),
-
registerTime
VARCHAR(
100)
-
)
-
PARTITION
BY HASH (uuid)
/
/uuid可以添加表达式,比如
/
2,或者
mod(uuid,
2),性能低,每条数据要计算之后在hash然后再插入
-
PARTITIONS
3;
4.KEY分区:类似于按HASH分区,由MySQL服务器提供其自身的哈希函数。
创建方式如下:
-
CREATE
TABLE tbl_users5 (
-
uuid
INT
NOT
NULL,
-
name
VARCHAR(
20),
-
registerTime
VARCHAR(
100)
-
)
-
PARTITION
BY LINEAR Key (uuid)
-
PARTITIONS
3;
在后面一篇文章中我们将专门介绍分区操作,这里不再赘述。在分区的时候我们需要注意以下情况:
1.如果表中存在primary key或者unique key时,分区的列是两种中的一个组成部分
边栏推荐
- Data type - floating point (C language)
- IP guard helps energy enterprises improve terminal anti disclosure measures to protect the security of confidential information
- Novice entry SCM must understand those things
- A method for quickly viewing pod logs under frequent tests (grep awk xargs kuberctl)
- 归并排序和非比较排序
- Download and install orcale database11.2.0.4
- [machine learning] watermelon book data set_ data sharing
- [Chongqing Guangdong education] audio visual language reference materials of Xinyang Normal University
- 国标GB28181协议视频平台EasyGBS新增拉流超时配置
- 详解华为应用市场2022年逐步减少32位包体上架应用和策略
猜你喜欢
Input and output of floating point data (C language)
Componentspace2022, assertions, protocols, bindings, and configuration files
Opencv learning notes 1 -- several methods of reading images
What is the method of manual wiring in PCB design in 22protel DXP_ Chengdu electromechanical Development Undertaking
All about PDF crack, a complete solution to meet all your PDF needs
Lua programming learning notes
如何在HarmonyOS应用中集成App Linking服务
PLSQL的安装和配置
Through the "last mile" of legal services for the masses, fangzheng Puhua labor and personnel law self-service consulting service platform has been frequently "praised"
为什么要选择云原生数据库
随机推荐
IELTS review progress and method use [daily revision]
Exercise arrangement 2.10, 11
Analysis of maker education in innovative education system
21 general principles of wiring in circuit board design_ Provided by Chengdu circuit board design
Open3d ISS key points
Caractéristiques de bisenet
Grpc, oauth2, OpenSSL, two-way authentication, one-way authentication and other column directories
说一个软件创业项目,有谁愿意投资的吗?
Tuowei information uses the cloud native landing practice of rainbow
Using nocalhost to develop microservice application on rainbow
What is the method of manual wiring in PCB design in 22protel DXP_ Chengdu electromechanical Development Undertaking
DeiT学习笔记
Installation and configuration of PLSQL
Transformation function map and flatmap in kotlin
National SMS center number inquiry
如何在快应用中实现滑动操作组件
联想混合云Lenovo xCloud:4大产品线+IT服务门户
MES系統,是企業生產的必要選擇
[Yu Yue education] basic reference materials of electrical and electronic technology of Nanjing Institute of information technology
One click deployment of highly available emqx clusters in rainbow