一: 数据库的优化一直项目后期的重中之重,特别是当单表数据庞大到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. A Tour of Go Exercise: Maps

    Implement WordCount. It should return a map of the counts of each “word” in the string s. The wc.Tes ...

  2. iphone练习之手势识别(双击、捏、旋转、拖动、划动、长按)UITapGestureRecognizer

    首先新建一个基于Sigle view Application的项目,名为GestureTest;我的项目结构如下: 往viewController.xib文件里拖动一个imageView,并使覆盖整个 ...

  3. hibernate分页实现

    1.创建分页实体类 public class PageBean { private int page; // 页码 private int rows; // 每页显示行数 private int st ...

  4. Quartus II调用modelsim无缝仿真

    本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的. Quartus 中调用modelsim的流程 1. 设定仿真工具 ass ...

  5. [转] C++ Redistributable Package版本详解

    我们使用的程序常常都需要C++ Redistributable Package的支持.C++ Redistributable Package有众多版本,给安装带了不便. 目前(2013-12-04) ...

  6. Gitbook 使用入门

    GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书. 本书将简单介绍如何安装.编写.生成.发布一本在线图书. http:/ ...

  7. 记一次js中和php中的字符串长度计算截取的终极问题和完美解决方案

    1.js是用unicode算长度的,比如单字节的算1,中文也算1,但是正常我们想让两个单字节算1,如何计算这个长度 第一种解决方案,用正则,如下 /[\u0x00-\u0xff]/,天真的想着,这样就 ...

  8. 【转】python中常用第三方包os sys

    1. os 这个模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下 ...

  9. HDU 5002 Tree LCT 区间更新

    Tree Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?c ...

  10. android.annotation cannot be resolved

    http://stackoverflow.com/questions/14870596/android-annotation-cannot-be-resolved As Artem suggested ...