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. ARM汇编 均值滤波实验

    实验要求是排序后去掉最大值最小值,然后把剩下的求平均数. 排序可以用之前的冒泡排序,关键的问题是求平均数.因为ARM没有除法,应该怎么求平均数呢? 最简单的方法就是减法了,用被除数一直减除数,看减了多 ...

  2. GNU/Linux LVM 原理图释

    逻辑卷管理器(英语:Logical Volume Manager,缩写为LVM),又译为逻辑卷宗管理器.逻辑扇区管理器.逻辑磁盘管理器,是Linux核心所提供的逻辑卷管理(Logical volume ...

  3. TortoiseSVN文件夹及文件图标不显示解决方法(兼容Window xp、window7)

    最近遇到TortoiseSVN图标(如上图:增加文件图标.文件同步完成图标等)不显示问题,网上找到的解决方法试了很多都无法真正解决,最后总结了一下,找到了终极解决方案,当然此方案也有弊端,接下来我们就 ...

  4. kmp(详解)

    大佬博客:https://blog.csdn.net/lee18254290736/article/details/77278769 对于正常的字符串模式匹配,主串长度为m,子串为n,时间复杂度会到达 ...

  5. Keepalived 资源监控

    简介: 作为一个高可用集群软件,Keepalived 没有 Heartbeat .RHCS 等专业的高可用集群软件功能强大,它不能够实现集群资源的托管,也不能实现对集群中运行服务的监控,好在 Keep ...

  6. springMVC环境搭建(1)

    工作一年以来,写的都是.net,最近比较闲,想把之前学过的java相关的东西捡起来,也学点新的东西.以前做过SSH架构,一直好奇spring mvc是怎么样的,所以今天试试看. 总体的代码结构 手动输 ...

  7. drbd switch off

    DRBD secondary to primary: drbdadm disconnect all drbdadm primary r0 --force mount /dev/drbd0 /mnt [ ...

  8. 我为什么使用Kubuntu

    网上看贴,包括身边的同事.朋友,总会问的问题是:我该选择哪个Linux发行版?使用久了,就会觉得这个问题其实不是问题,纯属个人习惯而已,当你真正习惯.理解了Linux,那么任何一个发行版的优点,你都有 ...

  9. 在 CentOS 下源码安装 Xen

    http://www.vpsee.com/2010/04/install-xen-on-centos-from-source/ 在 CentOS 源码编译安装 Xen 的过程和在 Debian 上编译 ...

  10. Java多线程—JUC原子类

    根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIn ...