2012年2月7日

SqlServer 查询计划

摘要: 对于SqlServer的优化来说,可能优化查询是很常见的事情。关于数据库的优化,本身也是一个涉及面比较的广的话题,本文只谈优化查询时如何看懂SqlServer查询计划。由于我对SqlServer的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Server Management Studio】,输入一个查询语句看看SqlServer是如何显示查询计划的吧。说明:本文所演示的数据库,是我写的一个演示程序专用的数据库, selectv.OrderID,v.CustomerID,v.CustomerName,v.OrderDate,v.SumMoney,v.Finishedfr 阅读全文

posted @ 2012-02-07 11:40 梦想Sky 阅读(366) 评论(0) 推荐(0) 编辑

sql server执行sql次数和逻辑次数

摘要: 查看sql次数和逻辑次数的语句SELECTcreation_timeN'语句编译时间',last_execution_timeN'上次执行时间',total_physical_readsN'物理读取总次数',total_logical_reads/execution_countN'每次逻辑读次数',total_logical_readsN'逻辑读取总次数',total_logical_writesN'逻辑写入总次数',execution_countN'执行次数',total_work 阅读全文

posted @ 2012-02-07 11:28 梦想Sky 阅读(694) 评论(0) 推荐(0) 编辑

sql server执行计划重用次数

摘要: 分析sql执行计划重用次数,查看绑定变量使用情况selecttotal_elapsed_time/execution_count平均时间,total_logical_reads/execution_count逻辑读,usecounts重用次数,SUBSTRING(d.text,(statement_start_offset/2)+1,((CASEstatement_end_offsetWHEN-1THENDATALENGTH(text)ELSEstatement_end_offsetEND-statement_start_offset)/2)+1)语句执行fromsys.dm_exec_cac 阅读全文

posted @ 2012-02-07 11:26 梦想Sky 阅读(264) 评论(0) 推荐(0) 编辑

sql server索引使用效率评估

摘要: dmv分析索引的使用情况,包括扫描次数,更新次数,有利于你评估设计的索引使用效率,sql server 2005的确比2000在性能分析上提高很多。user_seeks :通过用户查询执行的搜索次数。个人理解: 此统计索引seek的次数user_scans:通过用户查询执行的扫描次数。个人理解:此统计表扫描的次数,无索引配合user_lookups:通过用户查询执行的查找次数。个人理解:用户通过索引查找,在使用RID或聚集索引查找数据的次数,对于堆表或聚集表数据而言和索引配合使用次数user_updates: 通过用户查询执行的更新次数。个人理解:索引或表的更新次数---使用很少的索引排在最先 阅读全文

posted @ 2012-02-07 11:25 梦想Sky 阅读(337) 评论(0) 推荐(0) 编辑

sql server查询死锁的sql语句

摘要: --查询死锁和阻塞的sql语句SELECTCAST(REPLACE(REPLACE(XEventData.XEvent.value('(data/value)[1]','varchar(max)'),'<victim-list>','<deadlock><victim-list>'),'<process-list>','</victim-list><process-list>')ASXML)ASDeadlockGraphFROM 阅读全文

posted @ 2012-02-07 11:23 梦想Sky 阅读(2885) 评论(0) 推荐(0) 编辑

sql server检测数据库阻塞语句

摘要: createPROCEDURE[dbo].[auto_checkblocks]ASsetnocountonifexists(select*frommaster..sysprocesseswhereblocked<>0)begin/**//*showtopblockers,butnoduplicates*/select'请尝试使用KILL[SPID]来杀进程'--select'请尝试使用SP_LOCK[SPID]来显示锁信息,用OBJECT_NAME(ID)来显示锁对象名称或用sp_who[SPID]来显示信息'--select'在使用OBJE 阅读全文

posted @ 2012-02-07 11:22 梦想Sky 阅读(535) 评论(0) 推荐(0) 编辑

X86 寄存器

摘要: 寄存器是CPU内部用来放置数据和地址的存储单元,各种32位CPU中与微机原理有关的寄存器(编程可见)是一样的。本节仍以80486为例机来讨论,但结论可以不加修改地用于其它32位CPU。位于CPU内部不同部件的寄存器有不同的作用,每个寄存器都有自己的功能。根据寄存器的性质,把编程可见的寄存器分成9组,并给每个编程可见的寄存器(以后简称寄存器)取一个名称1 通用寄存器通用寄存器中,32位寄存器EAX,EBX,ECX,EDX,EBP,ESP,ESI和EDI,它们既可保存逻辑和算术运算中的操作数,也可保存地址运算中的操作数(ESP寄存器不能用作基址寄存器)。这些寄存器的名称源于8086处理机的通用寄存 阅读全文

posted @ 2012-02-07 11:17 梦想Sky 阅读(2651) 评论(0) 推荐(0) 编辑

使用 CL 编译器选项查看 C++ 类内存布局--转

摘要: 今天查资料的时候发现 VS 编译器 CL 的一个编译选项可以查看 C++ 类的内存布局,非常有用。使用如下,从开始程序菜单找到 Visual Stdio 2008/2005 Command Prompt,选择 VS 的命令行工具,按如下格式使用:>cl –d1reportSingleClassLayout[classname] test.cpp而使用 –d1reportAllClassLayout 则可以查看源文件中所有类及结构体的内存布局。其中,classname 为类名,-d1reportSingleClassLayout[classname] 之间没有空格。编写程序测试:比较奇怪, 阅读全文

posted @ 2012-02-07 11:06 梦想Sky 阅读(3614) 评论(1) 推荐(1) 编辑

C/C++程序员必须熟练应用的开源项目 -- 转

摘要: 作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉。问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用, 性能是不是足够的好, 是不是支持多线程, 功能是不是也足够强大,可以适用于各种不同的需求。如果.. 阅读全文

posted @ 2012-02-07 10:37 梦想Sky 阅读(4019) 评论(8) 推荐(4) 编辑

导航