zoukankan      html  css  js  c++  java
  • SQL Server表分区

    非原创,自己的学习笔记。参考地址:http://www.cnblogs.com/knowledgesea/p/3696912.html

    第一步,创建文件组

    (1)右击数据库—>属性—>文件组

    (2)T-SQL

    ALTER DATABASE <数据库名称> ADD FILEGROUP <文件组名>

    实例:ALTER DATABASE BusSystem ADD FILEGROUP TestGroup1

    第二步,创建数据文件到文件组

    (1)右击数据库—>属性—>文件

    (2)T-SQL

    alter database <数据库名称> add file <数据标识> to filegroup <文件组名称>
    
    --<数据标识> (name:文件名,fliename:物理路径文件名,size:文件初始大小kb/mb/gb/tb,filegrowth:文件自动增量kb/mb/gb/tb/%,maxsize:文件可以增加到的最大大小kb/mb/gb/tb/unlimited)

    实例:

    ALTER DATABASE BusSystem ADD FILE (NAME=N'TestFile1',filename=N'E:SoftDatabaseFilesTestFile1.ndf',size=5Mb,filegrowth=5mb)
    to filegroup TestGroup1

    执行完成后,右键数据库看文件组跟文件里面是不是多出来啦这些文件组跟文件。

    第三步,使用向导创建分区表

    右键到要分区的表--- >> 存储 --- >> 创建分区 --- >>显示向导视图 --- >> 下一步 --- >> 下一步。。

    原文作者解释:

    这里举例说下选择列的意思:
    
    假如你选择的是int类型的列:那么你的分区可以指定为1--100W是一个分区,100W--200W是一个分区....
    
    假如你选择的是datatime类型:那么你的分区可以指定为:2014-01-01--2014-01-31一个分区,2014-02-01--2014-02-28一个分区...
    
    根据这样的列数据规则划分,那么在那个区间的数据,在插入数据库时就被指向那个分区存储下来。
    
     
    
    我这里选用orderid int类型 --- >> 下一步 --- >>

    我对表分区的工作原理的理解是: 按照某一列来做计算,超过多少就到下一个分区。按照int类型的列分区,比如超过100万就插到下一个分区;比如按照时间类型的列分区,比如超过某个时间就到下一个分区。把一张表的数据分别存储到多个文件里面,这样避免在一个文件做操作,也许这样查询就能更快一些。。。

    我按照原文作者操作完成,等明天插入1000万行数据测试一下。

  • 相关阅读:
    springboot整合shiro
    四大作用域:application,session,request,page
    Application作用域实现:当用户重复登录时,挤掉原来的用户
    从Linux下载大于4G文件到本地,并且在本地合并
    idea+maven+springboot+mybatis
    Spring 3.0 中一般 普通类调用service
    java微信扫码支付Native(模式二)
    阿里云不支持stmp 的25端口,必须
    python写入文本报错TypeError: expected a string or other character buffer object
    mysql找到数据的存储位置
  • 原文地址:https://www.cnblogs.com/fjzhang/p/6929632.html
Copyright © 2011-2022 走看看