摘要:转载:本文转自cnblogs上Amaranthus的博客研究cpu压力工具perfomSQL跟踪性能视图cpu相关的wait eventSignal wait timeSOS_SCHEDULER_YIELD等待CXPACKET等待CMEMTHREAD等待调度队列cpu密集型查询高CPU使用率的创建几种状况miss index统计数据丢失非SARG谓词隐式类型转化参数探测器ad hoc非参数化查询修改源代码强制性参数化不合适的并发查询cost threshold for parallelismmax degree of parallelism超线程和并发查询诊断不合适的并发查询解决并发问题Tok
阅读全文
摘要:我们先看NestedLoop和MergeJoin的算法(以下为引用,见RicCC的《通往性能优化的天堂-地狱 JOIN方法说明》):
阅读全文
摘要:很多人非常非常厌恶在应用程序中使用存储过程,而宁愿使用拼SQL或者参数化SQL,理由是它们提供了更好的灵活性——这个理由其实非常非常的发指(俺现在喜欢上这个词了)。
阅读全文
摘要:本文主要介绍写SQL的另外两个误区:
1、 存储过程中使用局部变量而不使用参数变量(就是存储过程输入参数)做where条件
2、 查询条件中类型不匹配
阅读全文
摘要:先说说这些误区。所谓“误区”,有一些是新手很容易犯的错误或者很容易忽略的问题,另外一些,则是像“耗子吃了盐会变成蝙蝠”一样,让我们从小就认为是正确的事情。
阅读全文
摘要:上回我们说到评估一条语句执行效率主要看逻辑IO(啥是逻辑IO,啥是物理IO见联机文档),这次我们继续。
阅读全文
摘要:大型系统的生产环境,一般情况下,我们评价一条查询是否有效率,更多的是关注逻辑IO(至于为什么,回头补一篇)。我们常说,“要建彪悍的索引”、“要写高效的SQL”,其实最终目的就是在相同结果集情况下,尽可能减少逻辑IO。
阅读全文
摘要:不管是博客园还是CSDN,看到很多朋友对数据库的理解、认识还是没有突破一个瓶颈,而这个瓶颈往往只是一层窗纸,越过了你将看到一个新世界。
阅读全文
摘要:在网上经常看到的一条网友技术提问大意是“为什么我写的SQL查询语句在SQL Server查询分析器中可以瞬间Run出结果,在.NET程序中却要二十几秒(甚至要数分钟)?”。近日笔者在项目开发过程中也遇到相同问题,经过多方查找资料和自己不断调试分析,找到问题本质并得出解决办法。下面简要写出分析过程和问题根源以供遇到相同问题童鞋参考。
阅读全文
摘要:在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Insert不仅效率低,而且会导致SQL一系统性能问题。下面介绍SQL Server支持的两种批量数据插入方法:Bulk和表值参数(Table-Valued Parameters)。
阅读全文
摘要:转载:本文转自MSDN Library为了利用在 SQL Server 2005 中引入的新功能,比如多个活动结果集 (MARS)、查询通知、用户定义类型 (UDT) 或新的 xml 数据类型,那些使用 ActiveX Data Objects (ADO) 的现有应用程序应当使用 SQL Server Native Client OLE DB 访问接口作为其数据访问接口。如果不需要使用在 SQL Server 2005 中引入的任何新功能,则不需要使用 SQL Server Native Client OLE DB 访问接口;您可以继续使用当前数据访问接口(通常是 SQLOLEDB)。如果要增
阅读全文