- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
补充资料数据库应用与性能优化第四章使用Profiler跟踪系统并进.0
使用Profiler跟踪系统并进行优化 SQL Server Profiler 记录数据库服务器中所发生活动的详细信息。可以配置 Profiler 以便用大量的可配置性能信息监视并记录在 SQL Server 中执行查询的一个或多个用户。可在 Profiler 中记录的性能信息有:I/O 统计信息、CPU 统计信息、锁定请求、T-SQL 和 RPC 统计信息、索引和表扫描、警告和引发的错误、数据库对象的创建/除去、连接/断开、存储过程操作、游标操作等等。有关 SQL Profiler 可记录的全部信息,可以在 SQL Server 联机说明书中有哪些信誉好的足球投注网站字符串“Profiler”。 为了便于理解SQL Server Profiler的作用,这里将以一个使用SQL Server Profiler进行完整跟踪并解决问题的案例来加以详细说明。基本步骤如下: 1.首先在SQL Server2005数据库系统中创建benet数据库,并在数据库中创建名为testtable的表。表结构如图4.1: 图4.1 testtable的表结构 2.向testtable数据库中输入10000条数据。在SQL Server的系统管理器中新建查询,并输入如下代码: declare @counter int set @counter = 1 while (@counter = 2000) begin insert testtable (ckey1) values (a) insert testtable (ckey1) values (b) insert testtable (ckey1) values (c) insert testtable (ckey1) values (d) insert testtable (ckey1) values (e) set @counter = @counter + 1 end 3.为已经插入数据的testtable表的nkey1列创建非聚集索引,为列ckey1创建聚集索引。如图4.2: 图4.2 分别为ID列创建索引 4.启用SQL Server Profiler。从 SQL Server Enterprise Manager 菜单中选择 “工具”/SQL Server Profiler 启动 Profiler,按CTRL+N组合键新建Profiler跟踪,并为跟踪命名为new profiler,同时选择捕获到文件,并单击“运行”,如图4.3: 图4.3 设置Profiler的属性 5.在新建查询窗口中分别输入如下代码: select ckey1,col2 from testtable where ckey1 = a select nkey1,col2 from testtable where nkey1 = 5000 在获得查询结果后,可以停止SQL Server Profiler的跟踪过程。 6.从 Profiler 菜单中选择“工具”-“数据库引擎优化顾问”。已启动数据库引擎优化顾问向导。在引擎优化顾问中选择需要分析的数据库“benet”和需要分析的表“testtable”,同时选择需要分析的跟踪文件,单击“开始分析”,如图4.4所示: 图4.4 分析生成的跟踪文件 7.在开始分析后,需要有一个过程,大概持续10-15分钟(视计算机配置而定)。如图4.5: 图4.5 数据库优化引擎分析过程 8.在分析完成后,将会看到没有任何优化的建议。从这里可以的出目前创建的索引是已经起到了提升数据库查询效率的作用了,不再需要进行任何优化。如图4.6和4.7所示 图4.6 优化引擎给出的优化建议 图4.7 数据库优化引擎分析后得出的结果 这里要查询的数据为什么不再需要进行优化了呢?因为在前面用户已经为数据做了索引的操作。从数据的组成可以看出。ckey1 只有 5个唯一值,且每一个值都有 2,000 行。假定其中的一个示例查询 (select ckey1, col2 from testtable where ckey1 = a) 要求根据 ckey1 中的某个值对表进行检索,那么在 ckey1 列中创建聚集索引就可以起到提升查询效率的目的。第二个查询 (select nkey1, col2 from testtable where nkey1 = 5000) 根据列 nkey1 的值提取一行。Nkey1 唯一,且有 10,000 行,因此在该列创建非聚集的索引是可以提升查询效率的。 为了验证索引的创建是有必要的,这时候可以将nkey1的非聚集索引删除掉。再执行上述的的查询、跟踪和分析过程,可以得到如图4.8所示的结果。从图中可以很清楚的看出,数据库优化引擎会提出一条优化建议,要求用户在nkey1上创建新的索引,并同时给出创
有哪些信誉好的足球投注网站
文档评论(0)