扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Hilary Cotter 来源:互联网 2007年9月12日
关键字: 分割 SQL Server SQL Server 各版本 数据库
在SQL Server 7中,查询优化器将会考虑查看执行计划中的约束。如果你在某个字段上有检查约束,并且你的SARG参考了这个字段,那么只有正确的分割可以在执行计划中参考。考虑一个在姓者个字段上有检查约束的表,如下所示:
CONSTRAINT [CK_Employee] CHECK ([LastName] > 'a' and [LastName] < 'b')
这样的表只能接受姓以“A”开头的雇员。那么说你有一个分布式的拓扑结构,包含了26个字母,一个表包含一个字母,那么这些表需要在一个统一拥有这26个表的视图中参考。
Select * from EmployeeTableView where LastName ='a'
然而,插入、更新和删除都需要在正确的基本表上执行。在SQL Server 2000种,你需要执行数据管理语言来操作这个视图,以及参考的正确的基本表。
SQL Server 2005中的分割
SQL Server 2005,于2005年11月发布,引入了一些数据库分割方面的加强,改善了性能并减小了有关管理分布式数据集的管理负担。
在SQL Server 之前的版本中,需要你手工创建表来形成分割。在我们上面举出的例子中,我们需要创建26个表(每个表代表一个字母)来形成雇员的分割。在SQL Server 2005中,你可以创建一个分割函数,然后通过这个函数来分割表,同时SQL Server 还会根据你的范围函数确定的不同分割内的数据分散。这看起来像是一个表。出于性能的原因,你也许还想要分割的表扩展到多个文件群(可能在不同的磁盘或者阵列中),每一个分割都分配到他自己的文件群中。要做到这一点,你就需要创建一个分割计划,其中包括了所有的文件群来形成你的分割,然后创建你的表来使用这个分割计划,代替普通的文件群。
你还可以创建分割索引。在默认情况下,在一个分割上创建的索引可以与分个表使用同一个分割计划。有关如何使用SQL Server 2005的分割能力的最好资源就是Kimberly Tripp的白皮书。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者