超大型数据库的大小常常达到数百GB,有时甚至要用TB来计算。而单表的数据量往往会达到上亿的记录,并且记录数会随着时间而增长。这不但影响着数据库的运行效率,也增大数据库的维护难度。除了表的数据量外,对表不同的访问模式也可能会影响性能和可用性。
|
|
|||
1 SQL Server 2005
SQL Server 2005是微软在推出SQL Server 2000后时隔五年推出的一个数据库平台,它的数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。此外SQL Server 2005结合了分析、报表、集成和通知功能。这使企业可以构建和部署经济有效的BI解决方案,帮助团队通过记分卡、Dashboard、Web Services和移动设备将数据应用推向业务的各个领域。无论是开发人员、数据库管理员、信息工作者还是决策者,SQL Server 2005都可以提供出创新的解决方案,并可从数据中获得更多的益处。
它所带来的新特性,如T-SQL的增强、数据分区、服务代理和与.Net Framework的集成等,在易管理性、可用性、可伸缩性和安全性等方面都有很大的增强。
2 表分区的具体实现方法
表分区分为水平分区和垂直分区。水平分区将表分为多个表。每个表包含的列数相同,但是行更少。例如,可以将一个包含十亿行的表水平分区成 12 个表,每个小表表示特定年份内一个月的数据。任何需要特定月份数据的查询只需引用相应月份的表。而垂直分区则是将原始表分成多个只包含较少列的表。水平分区是最常用分区方式,本文以水平分区来介绍具体实现方法。
水平分区常用的方法是根据时期和使用对数据进行水平分区。例如本文例子,一个短信发送记录表包含最近一年的数据,但是只定期访问本季度的数据。在这种情况下,可考虑将数据分成四个区,每个区只包含一个季度的数据。
2.1 创建文件组
建立分区表先要创建文件组,而创建多个文件组主要是为了获得好的 I/O 平衡。一般情况下,文件组数最好与分区数相同,并且这些文件组通常位于不同的磁盘上。每个文件组可以由一个或多个文件构成,而每个分区必须映射到一个文件组。一个文件组可以由多个分区使用。为了更好地管理数据(例如,为了获得更精确的备份控制),对分区表应进行设计,以便只有相关数据或逻辑分组的数据位于同一个文件组中。使用 ALTER DATABASE,添加逻辑文件组名:
ALTER DATABASE [DeanDB] ADD FILEGROUP [FG1]
DeanDB为数据库名称,FG1文件组名。创建文件组后,再使用 ALTER DATABASE 将文件添加到该文件组中:
ALTER DATABASE [DeanDB] ADD FILE ( NAME = N'FG1', FILENAME = N'C:DeanDataFG1.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [FG1]
类似的建立四个文件和文件组,并把每一个存储数据的文件放在不同的磁盘驱动器里。
·SQL Server 索引和查询专题 (2642篇文章)
·SQL Server (1415篇文章)
·数据库处理专题 (7234篇文章)
·SQL Server (1416篇文章)
·利用标准SQL语句实现查询记录分页 (46次浏览)
·比较SQL Server约束和DML触发器 (27次浏览)
·初探 SQL Server 2008 “Katmai ” (25次浏览)
·如何对SQL Server数据表和数据库进行迭代操作 (23次浏览)
·如何在SQL中解决松散关系 (10次浏览)
·SQL Server的怪辟:异常与孤立事务 (10次浏览)
·在SQL Server中如何用通配符搜索TEXT栏 (8次浏览)
·在SQL Server中使用CLR调用.NET方法 (5次浏览)
·SQL Server怪辟:异常与孤立事务 (0次浏览)
·SQL Server开发者Oracle快速入门 (117次浏览)
·精细分析SQL server服务器的内存配置 (110次浏览)
·SQL Server 查询分析器快捷键集合 (101次浏览)
·数据库性能之数据库集群概念 (62次浏览)
·如何优化数据库的数据查询 (59次浏览)
·利用标准SQL语句实现查询记录分页 (46次浏览)
·SQL Server根据访问历史日志自动分析并提供优 (31次浏览)
·如何应用SQL Server DBCC避免堵塞 (30次浏览)
·比较SQL Server约束和DML触发器 (27次浏览)
·SQL Server如何访问sybase数据库的表 (344次浏览)
·MS-SQL开发常用汇总和t-sql技巧集锦 (343次浏览)
·轻松维护SQL Server 2005数据库 (131次浏览)
·教你如何在SQL Server计算列和平均值 (122次浏览)
·SQL Server开发者Oracle快速入门 (117次浏览)
·精细分析SQL server服务器的内存配置 (110次浏览)
·解析SQL Server数据在不同数据库中的应用 (109次浏览)
·SQL Server 查询分析器快捷键集合 (101次浏览)
·SQL Server 2005 - 实作CLR存储过程 (92次浏览)
·SQL Server 2005对海量数据处理 07-10
·打造SQL Server2000的安全策略 07-10
·SQL Server怪辟:异常与孤立事务 07-10
·两种SQL Server灾难恢复方法 07-10
·初探 SQL Server 2008 “Katmai ” 07-03
·SQL Server的怪辟:异常与孤立事务 07-03
·在SQL Server中使用CLR调用.NET方法 07-03
·在SQL Server中如何用通配符搜索TEXT栏 07-03
·比较SQL Server约束和DML触发器 06-30
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |




