摘要: OK,我们以一个销售数据库场景开始分区表实战。第一步:建立我们要使用的数据库,最重要的是建立多个文件组。CREATE DATABASE Sales ON PRIMARY (NAME = N'Sales',FILENAME = N'C:\Sales.mdf',SIZE = 3MB, MAXSIZE = 100MB,FILEGROWTH = 10%),FILEGROUP FG1(NAME = N'File1',FILENAME = N'C:\File1.ndf',SIZE = 1MB,MAXSIZE = 100MB,FILEGROWT 阅读全文
posted @ 2011-06-01 10:05 Wolves 阅读(319) 评论(1) 推荐(0) 编辑
摘要: 分区方案对表和索引进行分区的第二步是创建分区方案。分区方案定义了一个特定的分区函数将使用的物理存储结构(其实就是文件组),或者说是分区方案将分区函数生成的分区映射到我们定义的一组文件组。所以分区方案解决的是Where的问题,即表的各个分区在哪里存储的问题。分区方案的创建语法如下:CREATE PARTITION SCHEME partition_scheme_nameAS PARTITION partition_function_name[ ALL ] TO ( { file_group_name | [ PRIMARY ] } [ ,...n ] )[ ; ]分区方案语法的相关解释:1, 创 阅读全文
posted @ 2011-06-01 09:58 Wolves 阅读(367) 评论(1) 推荐(0) 编辑
摘要: 在谈论分区表这个话题之前,先和大家分享一个案例:2008年秋天的某天,我的团队接到成都市XX局一个SQL调优的ESS单子。客户反映查询统计一次各地市局上报的数据汇总,需要6到15秒才能获得真正想要的数据,当我和销售人员赶到客户数据中心现场后,发现里面布置了很多柜式服务器,每台服务器都是8核16G内存。和相关技术负责人沟通以及演示业务系统之后,可以肯定不是服务器性能的问题,我详细分析了他们的数据库,统计慢的几张表往往一周的上报数据便会增加1百多万行,导致他们这个系统刚上线没多久,某些表产生的数据已经在2000万行以上,最终我提出了优化方案,业务逻辑层采用存储过程代替普通的SQL语句,并启用相关开 阅读全文
posted @ 2011-06-01 09:57 Wolves 阅读(401) 评论(1) 推荐(1) 编辑