zoukankan      html  css  js  c++  java
  • SqlServer数据库分区

      在最近的项目中,在尽可能优化了sql语句后,上层仍要求对数据库进行优化,因为考虑到系统上线后数据量会非常庞大,而且这些个表的数据都有明显的时间划分,于是就引入了数据库分区的概念。摘用百度百科的定义,数据库分区是一种物理数据库设计技术,DBA和数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。我以前做项目,要么自己管理数据库的时候没用过,要么有专门的dba负责管理数据库,也不清楚是否使用了这种技术。毕竟我现在也没工作多久,接触的还是太少。既然最近用到了,我就这里随便扯扯,主要还是为了自己能够记住。

      偷了偷懒(其实工作中,学会“偷懒”能节省好多开发时间),使用SqlServer自己分区向导工具进行了创建,快而易操作,右键到要分区的表--- >> 存储 --- >> 创建分区 --- >> 显示向导视图 --- >> 下一步 --- >> 下一步,选择分区列的时候,按自己的需求来,该列如果是int类型,那就可以指定某一数量区间是一个分区,如果是datetime类型,那就可以指定某一时间范围是一个分区。前面提到了,我项目中表的数据有明显的时间划分,所以理所当然使用时间来划分分区。根据这样的列数据规则划分,那么在那个区间的数据,在插入数据库时就被指向那个分区存储下来。映射分区这一步骤时,会让我们选择左边界还是右边界,意思指的是当遇到临界值时是划分给上一个区间还是给下一个区间。按正常思维来讲,时间的from和to,一般都是包含当天的,所以我选择右边界。一直下一步直至获取到分区函数和分区方案,执行生成的sql语句来使分区创建成功。(实践证明,速度有明显提升,值得尝试)

  • 相关阅读:
    个人作业——软件工程实践总结作业
    团队作业——Beta冲刺5
    Beta冲刺博客集合贴
    团队作业——Beta冲刺4
    团队作业——Beta冲刺3
    团队作业——Beta冲刺2
    团队作业——Beta冲刺1
    Alpha事后诸葛亮(阳光普照队)
    软件产品案例分析
    个人作业——软件工程实践总结作业
  • 原文地址:https://www.cnblogs.com/timePasser-leoli/p/7956811.html
Copyright © 2011-2022 走看看