1. 在SQL SERVER 2008 R2 SP2之前版本,对分区只支持到1000个分区,之后版本支持到15000个分区。
2. 分区索引对齐并不要求索引和表使用同一分区方案,但要求两者使用的分区方案本质相同,即:
        1) 分区函数的参数具有相同的数据类型;
        2) 分区函数定义了相同数目的分区;
        3) 分区函数为分区定义了相同的边界值。

3. 分区合并:合并边界值所在的分区被删除,然后向邻近的分区合并。
4. 查看指定值所属分区:SELECT $PARTITION.partitionFunctionName('express')
5. 查询指定分区的数据:
    SELECT * FROM [dbo].[TB1]
    WHERE $PARTITION.pf_Test(PID)=$PARTITION.pf_Test(2155)
6. 将非分区表装换成分区表:删除聚簇索引,新建聚簇索引并指定分区键和分区函数,重建非聚簇索引。
7. 对不在同一文件组的两个分区进行合并,需要考虑合并照成的IO影响,对处于同一个文件组的两个分区合并,不会造成过多IO影响。
8. 合并分区:ALTER PARTITION FUNCTION patitionFunctionName() MERGE RANGE(rangeValue)
9. 拆分分区:
    1)指定新分区使用文件组:
            ALTER PARTITION SCHEME partitionSchemaName 
            NEXT USED fileGroupName;
    2)修改边界值:

ALTER PARTITION FUNCTION  partitionFunctionName  ()  
            SPLIT RANGE (rangeValue)
10. 可以对两个相邻的分区进行合并,如果两个分区都不为空,那么合并可能耗费大量时间和资源。
12. 在内存低于16GB的服务器上,不推荐使用超过1000的分区
13. 在分区表上创建非聚集非对齐索引时,会同时对所有分区上创建排序表,因此需要使用大量内存,当内存不足时,创建失败。
14. 在分区表上创建非聚集对齐索引时,会依次在每个分区上创建排序表,由于创建排序表过程是串行执行,因此不会使用大量内存从而使性能下降。
15. 当内存有压力时,如需要在分区数较大的分区表上建立非聚集非对齐索引时,可修改最大并行度为较小值来降低创建索引的内存使用。
16. 在使用分区表时,应该检查和修改分区表的锁升级

  

--====================================
--查看表的锁升级设置
SELECT
TB.name AS TableName,
TB.[lock_escalation],
TB.[lock_escalation_desc]
FROM sys.tables TB
WHERE TB.name='TB1' --==================================
--将表的锁升级设置为AUTO
ALTER TABLE [dbo].[TB1] SET (LOCK_ESCALATION = AUTO )

优点:

1. 分区可以使得单个分区表或分区索引中数据大大减少,从而提高查询和索引重建和整理的速度。

2. 将数据合理分散到多个分区后,可以有效解决数据热点问题。

3. 表分区和索引分区使用同一个分区函数时,可以快速地换出和换出某个分区的数据,在清理历史数据时很有效。

4. 当有多组磁盘时,可以使用分区将磁盘压力分散到多组磁盘上,来提高磁盘使用率。

缺点:

1. 当查询需要跨越多个分区时,可能会造成逻辑读取较高,对多个分区数据合并可能会导致CPU过高(SORT MERGE OR HASH MERGE)

2. 在分区表上建立唯一索引时,如唯一索引也使用相同分区函数,则有利于将数据按区迁出和迁入,但唯一索引必须附带分区键,会影响对整表求MAX/MIN等操作的效率

Partition--分区总结的更多相关文章

  1. mysql Partition(分区)初探

    mysql Partition(分区)初探   表数据量大的时候一般都考虑水平拆分,即所谓的sharding.不过mysql本身具有分区功能,可以实现一定程度 的水平切分.  mysql是具有MERG ...

  2. MySQL partition分区I

    http://blog.csdn.net/binger819623/article/details/5280267 一.        分区的概念二.        为什么使用分区?(优点)三.    ...

  3. MYSQL之水平分区----MySQL partition分区I(5.1)

    一.        分区的概念 二.        为什么使用分区?(优点) 三.        分区类型 四.        子分区 五.        对分区进行修改(增加.删除.分解.合并) 六 ...

  4. kafka之partition分区及副本replica升级

    修改kafka的partition分区 bin/kafka-topics.sh --zookeeper datacollect-2:2181 --alter --partitions 3 --topi ...

  5. mysql的partition分区

    前言:当一个表里面存储的数据特别多的时候,比如单个.myd数据都已经达到10G了的话,必然导致读取的效率很低,这个时候我们可以采用把数据分到几张表里面来解决问题.方式一:通过业务逻辑根据数据的大小通过 ...

  6. Hadoop(17)-MapReduce框架原理-MapReduce流程,Shuffle机制,Partition分区

    MapReduce工作流程 1.准备待处理文件 2.job提交前生成一个处理规划 3.将切片信息job.split,配置信息job.xml和我们自己写的jar包交给yarn 4.yarn根据切片规划计 ...

  7. Hadoop值Partition分区

    分区操作 为什么要分区? 要求将统计结果按照条件输出到不同文件中(分区).比如:将统计结果按 照手机归属地不同省份输出到不同文件中(分区) 默认 partition 分区 /** 源码中:numRed ...

  8. oracle partition 分区

    --范围分区create table person( id int, name varchar2(20), birth date, sex char(2))partition by range (bi ...

  9. MySQL Partition分区扫盲

    MySQL从5..3开始支持Partition,你可以使用如下命令来确认你的版本是否支持Partition: mysql> SHOW VARIABLES LIKE '%partition%'; ...

  10. mysql partition分区

    (转) 自5.1开始对分区(Partition)有支持 = 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录. === 水 ...

随机推荐

  1. 手把手教你使用node-inspector调试nodejs

    最近再看nodejs,这个东西是运行在服务端的,也就是说我们在客户端看不到相应的js代码,那么怎么调试了?目前主流的方法有三种.第一是采用node-inspector.第二种采用nodejs内置的调试 ...

  2. TortoiseSVN/Git覆盖图标失效的解决方案

    之前在电脑上安装了TortoiseGit和TortoiseSVN这两种版本控制,使用一段时间之后发现,这两种版本控制的覆盖图标都无法显示,起初以为是git和svn使用的图标的不一样,有冲突,导致这两种 ...

  3. 跟着太白老师学python 09day 初识函数

    函数的最主要的目的:封装一个功能 函数的优点: 减少代码的复用率, 增加代码的阅读性 def my_len(arvg): # arvg 形参 my_len函数名,应该具有代表性,让你一看就明白 # 函 ...

  4. Linux系统构架 - HA集群配置

    一.安装 HA 即(high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 ...

  5. iOS学习之iOS沙盒(sandbox)机制和文件操作之NSFileManager

    我们看看NSFileManager如何使用.包括创建文件,目录,删除,遍历目录等. 1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, [cpp] view ...

  6. 2017年Java学习总结

    2017年Java学习      Java,是我学习的第三种计算机编程语言,刚拿到这本教材时,我被它的厚度与书中字体的密集程度吓了一跳,不过在学习过程中,有Python,C语言的学习基础上,加上老师的 ...

  7. python's descriptor

    [python's descriptor] 1.实现了以下三个方法任意一个的,且作为成员变量存在的对象,就是descriptor. 1)object.__get__(self, instance, o ...

  8. FP回写报错

    报错信息如下: 提示java for mo 2022报错 执行的DTS如下: 解决方法:(原因:SAP归档日志满了,导致连接失败)1.检查表temp_out_pr中的siteid是否有三个工厂的数据确 ...

  9. java动态规划导弹问题

    这是一道动态规划题,和昨天的取硬币还有最长公共字串有点类似. 1.题目描述:                        某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一 ...

  10. 依靠反射来个Dbutils

    闲来无事,写个dbutils玩玩,不完善,满足基本增删改查,上代码 1.Dbutils package db; import annotation.Table; import java.util.*; ...