数据库分区

news/2024/10/8 12:35:39/

一.分区简述

1)分区的背景:当表中的数据量不断增大,查询数据的速度就会变慢(且加了索引       之后,仍然没有改观时),这时就可以考虑对表进行分区。 2)分区的粒度:某张表的大小超过2GB,直观点说,如果每个月(每年)某个表的       数据量都在百万以上,那就需要对该表以月(年)作为分区;即分区的粒度一般为       百万级数据量 3)分区表的结构:表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的        数据在物理上存放到多个表空间(物理文件上),这样查询数据时,       不至于每次都扫描整张表

二.分区步骤

1.创建文件组和文件右键单击要分区的数据库,单击属性,弹出如图下对话框,在此对话框中建立文件组和文件,以用于存储各分区表数据。如果以年作为分区界限,则以年为单位建立文件组和文件;若以月作为分区界限,则以月为单位建立文件组和文件。

2.文件组和文件建立好以后,开始对大数据量的表进行设计分区方案和分区函数

3.点击创建分区,弹出”创建分区向导”对话框。指定分区列

4.创建分区函数:分区函数会根据列中的值所对应的范围创建对应的文件

5.创建创建分区方案:分区方案会把分区函数创建的文件归类到指定的文件组中

6.设置分区表各个时间段的数据所对应的文件组,最好同一类数据表的不同分区文件对应不同        的文件组

7.可通过”立即运行”,直接创建表分区

三.分区结果确认

1)直接右键表,查看成功与否

2)通过SQL语句查看

a.查看分区依据列的指定值所在的分区    select $partition.bgPartitionFun(‘2017-09-21’)  --返回值是2,表示此值存在第2个分区

b.查看分区表中,每个非空分区存在的行数     select $partition.bgPartitionFun(Business) as partitionNum,count(*) as recordCount     from FoodBill group by  $partition.bgPartitionFun(Business)

c.查看指定分区中的数据记录     select * from FoodBill where $partition.bgPartitionFun(Business)=2

四.分区注意事项

1)最好在部署完数据库就去做分区,这样可以避免产生很多不必要的冗余数据。如果是数据库运行一段时间后,再做的分区,分区后,原来的数据会在原有磁盘上和分区后的磁盘文件上分别存放。

2)做分区时,被分区的表不能有任何增删改查操作,否则分区时间会很长,而且增删改查也做不了,会相互抢占资源,形成死锁。

五.分区SQL

1)创建文件组 alter database kmcy_cloud_dz add filegroup G_kmcy_201706 alter database kmcy_cloud_dz add filegroup G_kmcy_201712 alter database kmcy_cloud_dz add filegroup G_kmcy_201806 alter database kmcy_cloud_dz add filegroup G_kmcy_201812 2)

创建文件 alter database kmcy_cloud_dz  add file (name=N‘f_kmcy_201706',filename=N‘D:\DB\kmcy\f_kmcy_201706.ndf',size=5Mb,filegrowth=5mb) to filegroup G_kmcy_201706 alter database kmcy_cloud_dz  add file (name=N‘f_kmcy_201712',filename=N‘D:\DB\kmcy\f_kmcy_201712.ndf',size=5Mb,filegrowth=5mb) to filegroup G_kmcy_201712 alter database kmcy_cloud_dz  add file (name=N‘f_kmcy_201806',filename=N‘D:\DB\kmcy\f_kmcy_201806.ndf',size=5Mb,filegrowth=5mb) to filegroup G_kmcy_201806

3)创建分区函数 CREATE PARTITION FUNCTION [bgPartitionFun](DateTime) AS RANGE LEFT FOR VALUES (N‘2017-06-01', N‘2017-12-01', N‘2018-06-01', N‘2018-12-01', N‘Primary’) 4)创建分区方案 CREATE PARTITION SCHEME [bgPartitionSchema] AS PARTITION [bgPartitionFun] TO ([G_kmcy_201706], [G_kmcy_201712], [G_kmcy_201806], [G_kmcy_201812], [Primary])


http://www.ppmy.cn/news/1536119.html

相关文章

OSINT技术情报精选·2024年9月第4周

OSINT技术情报精选2024年9月第4周 2024.10.1版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 1、大模型行业可信应用框架研究报告 在2024年9月5日举行的Inclusion外滩大会“大模型的创造力边界与应用想象力”分论坛上,蚂蚁集团…

网络知识点之—EVPN

EVPN(Ethernet Virtual Private Network)是下一代全业务承载的VPN解决方案。EVPN统一了各种VPN业务的控制面,利用BGP扩展协议来传递二层或三层的可达性信息,实现了转发面和控制面的分离。 EVPN解决传统L2VPN的无法实现负载分担、…

sidecar 和 插件的区别

Sidecar 和插件是两个不同的概念,尽管它们都可以提高应用程序的可维护性和可扩展性,但它们的实现方式和用途是不同的。 Sidecar 是一种设计模式,主要用于在容器化环境中将辅助功能与主应用程序分离。在这种模式下,主应用程序运行…

PostgreSQL 和Oracle表压缩的适用场景和限制条件

PostgreSQL 和Oracle表压缩的适用场景和限制条件 Oracle 表压缩的适用场景和限制条件 Oracle 提供了多种表压缩技术,每种技术都有其特定的适用场景和限制条件。 适用场景 数据仓库和历史数据存储: 基本表压缩:适用于较少更新的表&#xff…

初步认识产品经理

产品经理 思考问题的维度 1️⃣为什么要抓住核心用户? 所有和产品有关系的群体就是用户,存在共性和差异了解用户的付费点,更好的优化产品是否使用:(目标用户-已使用产品:种子用户-尝鲜;核心用…

matlab初学习记录

文章目录 内置函数与变量matlab 编辑器数组等间距向量数组函数数组索引提取多个元素 对向量执行数组计算查看文档 画图添加注释 实践导入数据关系运算符分支恒星运动 matlab 学习看入门之旅 先计算等号右边再计算等号左边。 工作区记录等号右边的变量。 ; 表示的是抑制输出。…

Python与MongoDB交互

一、基本概念 MongoDB: 一个面向文档的数据库系统,使用BSON(Binary JSON)作为存储格式。集合(Collection): 类似于关系型数据库中的表,是文档的集合。文档(Document): MongoDB中的基…

【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。

前言:哈喽,大家好,今天给大家分享一篇文章!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【EXCEL数据处理】000013 案例 EXCEL筛选与高级筛选。使用的软件&#…