毕业设计外文资料翻译--在SQL Server 2008中优化查询

上传人:liy****000 文档编号:115191643 上传时间:2019-11-13 格式:DOC 页数:17 大小:97.50KB
返回 下载 相关 举报
毕业设计外文资料翻译--在SQL Server 2008中优化查询_第1页
第1页 / 共17页
毕业设计外文资料翻译--在SQL Server 2008中优化查询_第2页
第2页 / 共17页
毕业设计外文资料翻译--在SQL Server 2008中优化查询_第3页
第3页 / 共17页
毕业设计外文资料翻译--在SQL Server 2008中优化查询_第4页
第4页 / 共17页
毕业设计外文资料翻译--在SQL Server 2008中优化查询_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《毕业设计外文资料翻译--在SQL Server 2008中优化查询》由会员分享,可在线阅读,更多相关《毕业设计外文资料翻译--在SQL Server 2008中优化查询(17页珍藏版)》请在金锄头文库上搜索。

1、毕业设计外文资料翻译学 院: 专业班级: 学生姓名: 学 号: 指导教师: 外文出处:(外文) Scientific Bulletin -Ecomomic Sciences,Vol.9(15) -Information techonology 附 件:1.外文资料翻译译文; 2.外文原文 指导教师评语:该生外文翻译符合毕业设计要求。签名: 2015年 10 月 14日1外文资料翻译译文在SQL Server 2008中优化查询Professor Ph.D. Ion LUNGU , Nicolae MERCIOIU , Victor VL ADUCU3摘 要从需要开发高效的IT系统开始,我们打算

2、检讨SQL Server数据库管理员可以通过使用基于微软技术的应用开发商的优化方法和工具,专注于最新专有的DBMS的版本,SQL Server 2008中,我们将考虑改进SQL Server实例的性能,我们将解决分析和优化查询,我们将描述大部分使用的技术“优化特设工作负载”,“计划冻结”和“优化未知”等新选项,伴随着相关的代码示例。关键字:查询,SQL Server 2008,优化JEL分类:C88,D801.简介提高数据库管理系统的性能包括识别瓶颈及其原因,使用适当的技术和工具解决这些问题和评价所添加的性能。人们普遍认为,旨在实现最大理论性能是不现实的,适得其反,因为超越达到“足够好”的投资

3、成本时间的性能增益指数增加。大多数时候,在考虑效率和性能的设计时,最后的标准往往是使用一个新的数据库中的应用程序。在这些标准之后,系统投产才变得重要。有时似乎应用程序不显示该在对数据库的合理的时间请求或不能显示它的完全信息,超出设置超时的原因可能与应用程序的设计有关,但是在许多情况下,数据库管理系统返回数据的速度不够快是由于没有使用索引,查询设计的缺陷或数据库模式过度分散,使用不准确统计,故障重用执行计划或使用游标不当。一旦全套运行SQL查询捕捉,应查明施加查询对系统资源和那些运行最慢的压力。使用处理组件优化SQL Server中的查询来确定执行最有效的方法查询,考虑到可能的计划,并决定哪一个

4、是最好的。优化基于实际成本的策略是一个运行“成本”的估算每一个可能的计划,允许磁盘I / O操作方面选择具有最低“成本”的执行计划,CPU负载,内存负载等。2. 目标改进SQL Server实例的性能用于提高性能的元件已经发现,重要性的顺序:Windows操作系统下,SQL Server实例,硬件,数据库和应用程序。据微软称,为了改进SQL Server要考虑的最重要的目标表现是:- 设计一个高效的数据架构。- 优化查询。- 优化索引,存储过程和交易。- 分析执行计划,避免编译它们。- 监测的数据访问。设计一个高效的数据架构需要进行初始正常化和随后归一化(例如人/机构地址),如果需要的话。反向

5、方法将涉及其他活动旨在确保数据的一致性。要考虑的另一个问题是使用声明引用完整性。这种方法比使用触发器和使用系统临时表更有效。采用主,外键和唯一键约束有助于建立有效的执行计划。此外,还建议定义数据类型尽可能接近到以假乱真,因为显性和隐性转换会花费密集计算资源。当信息不经常更新,一个非常重要的方面来是需要使用索引视图,因为索引视图的物理存储为表。在优化索引和存储过程的过程中,他们允许快速响应的选择操作,同时减慢插入,更新和删除操作应该被考虑在内。一般来说,索引的创建和使用应该在读写操作之间进行平衡,即索引可以提高读取操作,但是产生正面或负面改写操作。至于交易,应尽可能的越短越好。需要用户干预的交易

6、是要避免的,在开始事务之前,建议进行数据验证。存储过程必须包括SET NOCOUNT ON命令。这个命令可以防止发送关于受影响的记录在此过程中进行的每个操作数的消息。它是在分析和运行上有代表性的数据执行计划,使得由优化器提出最佳的建议方案。在这方面,应避免涉及扫描表和索引计划。扫描仅含有多达数百个的记录的表值得的。另外,主要的CPU和内存资源消费者排序记录和过滤操作。一般来说,编译执行计划,应避免由于在性能上的损失。这可以通过使用参数化查询和存储过程和过度临时表游标来避免。然而,当优化器能够创建更高效的执行计划时,重新编译的计划可能带来好处。它通过统计来监控(如果它们保持最新),并使用分析器运

7、行很长一段时间的查询,以及用于扫描和监测资源的使用是非常重要的。查询优化将在下面详细加以解决。3. 查询分析和优化技术分析和优化技术需要个人的方式也有一整套查询的,其前提是,虽然个人查询可以足够优化,整套性能可能会很差。首先,也是最重要的优化技术是通过限制记录在SELECT列表中指定的字段的数目(WHERE子句)并限制返回的数据的量。这将导致有效地利用索引。原则上,WHERE子句应该是有选择性的,因为它是一个建立在列上使用索引。为有效利用索引,根据该系统的使用率要求,SQL Server提供群集和非聚集型索引。其表的频繁更新 - - 联机事务处理计划内的聚集索引推荐,但在尽可能少的列可能。大量

8、在这些系统指标会影响INSERT,UPDATE的性能,DELETE和MERGE命令,各项指标必须在表中的数据被修改作相应调整。集群式像时, =,和运营商之间的=被使用,因为被发现含有的第一个值的记录后,随后与索引值的记录是物理相邻指标是有效的。此外,如果查询包含JOIN一样,ORDER BY或GROUP BY子句中,集群式索引是最合适的。非聚集索引的使用是只推荐用于更新频繁的数据库,并给出了“精确类型查询的最佳解决方案。查询可以有效地使用索引只有在WHERE子句功能算术运算都尽可能避免使用。例如,使用LIKE代替SUBSTRING函数会导致优化使用索引的列:SELECT Name FROM A

9、dventureWorks.Production.Location WHERE SUBSTRING(Name,1,1) =P优化建议:SELECT Name FROM AdventureWorks.Production.Location WHERE Name LIKE P%同样地,在排除条件,!=,!,!,NOT EXISTS,NOT IN,不喜欢,或或类似的例子“将确定DBMS的优化不是在WHERE子句中使用的列上的索引。取而代之的是,夹杂物的条件下,之间以及在与实施例“,允许优化以提高查询性能,因为在SQL Server会发现在索引的记录,将返回相邻的记录过,只要在条件WHERE子句仍是如

10、此。另一个优化的方法是使用,如果可能,在BETWEEN子句代替IN或OR条件。在SQL Server 2008将通过访问索引的次数等于值的数量由搜索解决IN条件。使用BETWEEN子句,优化器将它变成一对条件 = = id SELECT * FROM Sales.SalesOrderDetail JOIN Sales.SalesOrderHeader ON Sales.SalesOrderHeader.SalesOrderID = Sales.SalesOrderDetail.SalesOrderID WHERE Sales.SalesOrderHeader.SalesOrderID =1对于在执行存储过程或脚本每个查询时,SQL Server将返回受影响的记录数(2323333行(S)的影响)为了节省资源,最好是使用SET NOCOUNT ON SET NO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号