新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > sql server教程 > 正文:教你轻松掌握如何来创建索引的并行操作

教你轻松掌握如何来创建索引的并行操作

新客网 XKER.COM 2007-10-19 来源: limeinan 收藏本文

为创建索引而生成的查询计划允许在具有多个微处理器的计算机上执行并行的多线程索引创建操作。

Microsoft® SQL Server™ 2000 确定索引创建操作的并行度(单独运行的总线程数)时使用的算法,与其对其它 Transact-SQL 语句所使用的算法相同。唯一的区别是创建索引的 CREATE INDE、CREATE TABLE 或 ALTER TABLE 语句不支持 MAXDOP 查询提示。索引创建的最大并行度受限于 max degree of parallelism 服务器配置选项,用户不能为个别的索引创建操作设置不同的 MAXDOP 值。

SQL Server 2000 生成创建索引查询计划时,并行操作数设置为下面各项的最小值:

·计算机中的微处理器 (CPU) 数。

·max degree of parallelism 服务器配置选项中指定的数目。

·尚未超过为 SQL Server 线程执行的工作阈值的 CPU 数。

例如,在具有 8 个 CPU 的计算机上,其 max degree of parallelism 却设置为 6,则为索引创建生成的并行线程不超过 6 个。如果生成索引创建执行计划时,计算机中有 5 个 CPU 超过了 SQL Server 工作阈值,则执行计划只指定三个并行线程。

并行索引创建的主要阶段包括:

·协调线程快速并随机地扫描表,以估计索引键的分布情况。协调线程建立键的边界,这将创建若干与并行操作度相等的键范围,其中每个键范围所包含的行数都差不多。例如,如果表中有四百万行,且并行度为 4,则协调线程确定将键值分为 4 个行集,每个行集有一百万行。

·协调线程分派与并行操作度相等的若干线程,并等待这些线程完成它们的工作。每个线程都使用筛选扫描基表,只检索键值在指派给线程的范围内的行。每个线程都为其键范围内的行生成索引结构。

·当所有并行线程都完成后,协调线程将索引子单元连接到单个索引中。

个别 CREATE TABLE 或 ALTER TABLE 语句可以有多个要求创建索引的约束。这些多个索引创建操作连续执行,但每个索引创建操作可以是具有多个 CPU 的计算机上的并行操作。

(责任编辑:卢兆林)

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐