一: 数据库的优化一直项目后期的重中之重,特别是当单表数据庞大到1000W时候。各种SQL语句执行效率都会慢很多。SQL 效率 与索引,行数据,列数据,以及Where 刷选字段类型 (效率 整数型大于字符串,时间等式)都很有关系。平时的优化 除了针对性增加非聚集索引,对字节较长的字符串 如:身份证号码进行整形处理存储。对大文本比如 信息正文进行单独表关联,对一些字段暂用的字节大小进行优化外。还可以对臃肿的表进行 水平切分以及垂直切分,或者对整库进行切分,主从读写分离等诸多手段。

二:以 SQL 2008 企业版为例。单表数据量为380W,进行水平切分,分区处理 。应该能稍微对比出两者间的效率。

三:如何建立分区表:参考大牛博客:ttp://blog.sina.com.cn/s/blog_614316190100egs2.html

ps:值得注意的建立 分区方案 分区函数的时候 文件。文件组最好多建立一个。楼主在建立一样的时候报错。多建立一个文件就通过了。如图:

分区函数和分区方案脚本:

USE [SMSRoute] GO

/****** Object:  PartitionFunction [partitionFunArea]    Script Date: 12/05/2013 22:27:09 ******/ CREATE PARTITION FUNCTION [partitionFunUserName](nvarchar(50)) AS RANGE LEFT FOR VALUES (N'ck_fengxiong_system', N'ck_hujiao_system', N'ck_jianfei_system', N'ck_yifubao_system', N'ck_zengzhi_system') GO

USE [SMSRoute] GO

/****** Object:  PartitionScheme [partitionSchemeUserName]    Script Date: 12/05/2013 22:27:45 ******/ CREATE PARTITION SCHEME [partitionSchemeUserName] AS PARTITION [partitionFunUserName] TO ([fengxiong], [hujiao], [zengzhi], [jianfei], [yifubao], [zengzhi]) GO

四:以经典ROW_NUMBER 分页函数为对比。

PS: 由于数据比较少。对比不是很明显。当数据超过1000W的时候差距才会逐渐明显。

个人浅见,欢迎指正。

以 280W 数据为依据。对比SQL2008 表分区前和分区后的 T_SQL 效率的更多相关文章

  1. sql2008 计划自动创建数据库分区【转】

    本文转自:http://jingyan.baidu.com/article/6b97984d9a26ec1ca3b0bf77.html sql2008 计划自动创建数据库分区 固定增量的数据,自动创建 ...

  2. mysql表分区、查看分区

    原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...

  3. ORACLE表、索引和分区详解

    ORACLE表.索引和分区 一.数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 堆组织表 聚簇表(共三种) 索引组织表 嵌套表 临时表 外部表和对象表 1.行迁移 建表过程中可以指定以下两 ...

  4. MySQL表的四种分区类型

    MySQL表的四种分区类型 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表 ...

  5. mysql表分区(摘自 MySQL表的四种分区类型)

    一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区 ...

  6. SQL Server 堆表与栈表的对比(大表)

    环境准备 使用1个表,生成1000万行来进行性能对比(勉强也算比较大了),对比性能差别. 为了简化过程,不提供生成随机数据的过程.该表初始为非聚集索引(堆表),测试过程中会改为聚集索引(栈表). CR ...

  7. Hive 7、Hive 的内表、外表、分区(22)

    Hive 7.Hive 的内表.外表.分区   1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.h ...

  8. Hive 7、Hive 的内表、外表、分区

    1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.html 中已经提到: 2.Hive的外表 创建H ...

  9. 通过读取excel数据和mysql数据库数据做对比(二)-代码编写测试

    通过上一步,环境已搭建好了. 下面开始实战, 首先,编写链接mysql的函数conn_sql.py import pymysql def sql_conn(u,pwd,h,db): conn=pymy ...

随机推荐

  1. ThinkPHP中SQL调试方法

    $admin = D('Admin'); $info = $admin->field('`lastlogintime`,`lastloginip`')->where(array('user ...

  2. cocos2d-x的helloLua例子函数名定义误导初学者

    初次研究cocos2d-x, cocos2d-x支持lua是一个很不错的功能,使用lua来开发有个最大的好处就是不用每次改了游戏代码都编译,大多数情况下改了脚本直接运行程序就可以了,发布更新时也不用更 ...

  3. ./wls1036_linux32.bin: /lib/ld-linux.so.2: bad ELF interpreter

    [CentOS]安装软件:/lib/ld-linux.so.2: bad ELF interpreter解决   环境: [orangle@localhost Downloads]$ uname -m ...

  4. JVM 必备指南

    简介 Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码.更通俗地说,JVM是指对这个规范的 ...

  5. Java中4大基本加密算法解析

    简单的java加密算法有: BASE64 严格地说,属于编码格式,而非加密算法 MD5(Message Digest algorithm 5,信息摘要算法) SHA(Secure Hash Algor ...

  6. elecworks 报表----按线类型的电线清单

    按线类型的电线清单中:列Wire number指的是线标注,不是电位标注 section:截面积

  7. ASP.Net 使用SqlBulkCopy批量插入

    批量插入,以前我的做法是生成一堆insert into的sql语句,然后用程序一次值行,来实现. 今天看到了ASP.Net里可以使用DataTable,先将数据写入到DataTable中,然后使用Sq ...

  8. JavaScript要点(七) 函数调用

    JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字  注意: this 是保留关键字,你不能修改 this 的值. ⚠️一般而言,在Java ...

  9. Spring ApplicationContextAware获取上下文

    一.ApplicationContextAware 用处 Spring 提供了ApplicationContextAware类,通过它可以获取所有bean上下文. 二.怎么用? ①.定义一个工具类,去 ...

  10. Struts中文件的上传与下载

    前面学到的用组件去上传 前台: 1.post表单提交 2.表单类型 multipart/form-data 3.intput type=file 后台: Apach提供的FileUpload组件 核心 ...