文档详情

sql优化精选.pptx

发布:2017-06-06约小于1千字共44页下载文档
文本预览下载声明
SQL Server 数据库性能优化;应用正确的索引 将TSQL代码从应用程序迁移到数据库中; 识别低效TSQL,采用最佳实践重构和应用TSQL; 使用表参数 pivot 与UNPIVOT的用法 公用表表达式CTE ;;在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的标准。而采用索引来加快数据处理速度通常是最普遍采用的优化方法。;;通过创建唯一索引,可以增强数据记录的唯一性。 可以大大加快数据检索速度。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能。;不过,索引为性能所带来的好处却是有代价的。带索引的表在数据库中会占据更多的空间。另外,为了维护索引,对数???进行插入、更新、删除操作的命令所花费的时间会更长。 创建索引所需的工作空间约为数据库表的1.2倍,在建立索引时,数据被复制以便建立索引。索引建立后,旧的未加索引的表被删除,创建索引时使用的硬盘空间由系统自动收回。 在设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。 ;什么时候考虑创建索引;在查询中几乎不涉及的列 ;如果以存储结构来区分,则有“聚集索引”(Clustered Index,也称聚类索引、簇集索引)和“非聚集索引”(Nonclustered Index,也称非聚类索引、非簇集索引)的区别; 如果以数据的唯一性来区别,则有“唯一索引”(Unique Index)和“非唯一索引”(Nonunique Index)的不同; 若以键列的个数来区分,则有“单列索引”与“多列索引”的分别。;;;;;;碎片信息;;两种整理索引碎片的方法;;迁移的原因;;1;2;3;4;5;6;7;8;9;10;11;12;;;;;列转行UNPIVOT;行转列 PIVOT;;;公用表表达式CTE;;
显示全部
相似文档