数据库分区

数据库分区:

概念:以mysql为例。mysql数据库中的数据是以文件的形式存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。

分区的方式:

1,横向分区

什么是横向分区呢?就是横着来分区了,举例来说明一下,假如有100W条数据,分成十份,前10W条数据放到第一个分区,第二个10W条数据放到第二个分区,依此类推。也就是把表分成了十份,根用merge来分表,有点像哦。取出一条数据的时候,这条数据包含了表结构中的所有字段,也就是说横向分区,并没有改变表的结构。

2,纵向分区

什么是纵向分区呢?就是竖来分区了,举例来说明,在设计用户表的时候,开始的时候没有考虑好,而把个人的所有信息都放到了一张表里面去,这样这个表里面就会有比较大的字段,如个人简介,而这些简介呢,也许不会有好多人去看,所以等到有人要看的时候,在去查找,分表的时候,可以把这样的大字段,分开来。

mysql提供的分区属于第一种。

分区优点

1,分区可以分在多个磁盘,存储更大一点

2,根据查找条件,也就是where后面的条件,查找只查找相应的分区不用全部查找了

3,进行大数据搜索时可以进行并行处理。

4,跨多个磁盘来分散数据查询,来获得更大的查询吞吐量

数据库分区

时间: 2024-10-06 19:33:41

数据库分区的相关文章

mysql数据库分区功能及实例详解

分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解 一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例.mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存

处理Zabbixl历史数据库解决办法三---使用平民软件的OneProxy来为Zabbix数据库分区和扩容

一 应用场景描述 二 OneProxy介绍及使用 三 使用OneProxy来为Zabbix数据库分区和扩容 参考文档:

Atitit.数据库分区的设计 attilax  总结

Atitit.数据库分区的设计 attilax  总结 1. 分区就是分门别类的文件夹 (what)1 2. 分区的好处(y)1 3. 分区原则(要不要分区,何时分区)how2 4. 主要的分表类型有range,list,hash,key等2 5. 水平分区(Horizontal Partitioning) 垂直分区(Vertical Partitioning)3 6. 分区的操作4 7. 分区理论  并行数据库的体系结构4 8. 参考7 1. 分区就是分门别类的文件夹 (what) 分区的原理

MySQL数据库分区的概念与2大好处(1)

我们大家都知道通过MySQL数据库分区(Partition)可以提升MySQL数据库的性能,那么到底什么是MySQL数据库分区呢?以及其实际应用的好处的表现有哪些呢?以下的文章就是对这些内容的描述. 什么是数据库分区? 数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作 中减少数据读写的总量以缩减响应时间. 分区主要有两种形式://这里一定要注意行和列的概念(row是行,column是列) 水平分区(Hori

sql2008 计划自动创建数据库分区【转】

本文转自:http://jingyan.baidu.com/article/6b97984d9a26ec1ca3b0bf77.html sql2008 计划自动创建数据库分区 固定增量的数据,自动创建分区作业. 步骤一:创建分区的计划任务 打开MsSQL2008,找到作业该项,如果打不开或者SQL Server代理是未启动状态,请先在windows服务中启动SQL Server代理(参考图片),   右击MsSQL2008对象资源管理器中的作业,选择新建作业,输入该作业你想用的名称,类别不用管,

关于数据库分区后的几个查询和补充

--查看分区及分区范围的情况 select * from sys.partitions where object_id = object_id('SecureUsbLog'); select * from sys.partition_range_values; --查看分区架构情况 select * from sys.partition_schemes; --查看某一特定分区列值属于哪个分区 select M2.$partition.Part_mediasec_func('20150325')

[转]数据库分区

此文从以下几个方面来整理关于分区表的概念及操作:         1.表空间及分区表的概念         2.表分区的具体作用         3.表分区的优缺点         4.表分区的几种类型及操作方法         5.对表分区的维护性操作. (1.) 表空间及分区表的概念 表空间:  是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间. 分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考

数据库分区文件删不掉

数据库版本:sql2012 企业版. 有一个数据库(ITM)的分区文件为F20170127. 现在删除这个分区文件:ALTER DATABASE [ITM] remove FILE F20170127 报错: Msg 5042, Level 16, State 1, Line 1The file 'F20170127' cannot be removed because it is not empty. 尝试如下解决(并不存在先后顺序): 1.先删除分区上的数据 2.收缩数据库 3.收缩这个这个

数据库分区的概念

from: http://www.iteye.com/problems/67953 此文从以下几个方面来整理关于分区表的概念及操作:         1.表空间及分区表的概念         2.表分区的具体作用         3.表分区的优缺点         4.表分区的几种类型及操作方法         5.对表分区的维护性操作. (1.) 表空间及分区表的概念 表空间:  是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间. 分区表: