2012年11月9日

摘要: 对于非SARG语句,SQLSERVER必须评估每 一条记录以决定它是否符合WHERE子句的条件。所以索引对于采用非SARG条件的查询通常没什么用处。而通过非SARG语句通常包含以下操 作:NOT、!=、<>、!>、!<、NOTEXISTS、NOTIN和NOTLIKE等,以及上述提及的“ %IS%”,其中LIKE使用方法会造成全表扫描(TARLESCAN)或是聚集扫描而降低性能.创建SQL Server 查询性能优化——索引与SARG(一)中开头部分创建索引中的索引1,3?--例一、SELECT * FROM [WBK_PDE_LIST_ORG_HISTROY] wher 阅读全文
posted @ 2012-11-09 10:37 oer 阅读(218) 评论(0) 推荐(0)
摘要: 这一篇文章修修改改,已经写了很久了,还是感觉好像自己没讲清楚,鉴于本人水平,就先这样写吧,待本人水平提高之后,再进行修补。在写作的过程也学习到了,SQL查询优化程序也并不一定会使用查询参数中字段的相关索引,而是根据查询数据量的多少而产生的查询成本,来决定是使用查询参数中的字段索引,还是使用聚集索引或全表扫描。中心思想就是关于SQL语句的“查询参数”(SARG)与索引的使用。符合SARG格式的数据肯定会使用到相应的索引呢?先给出答案,不是。例 如:Select*fromWBK_PDE_LIST_ORGwherecop_g_no='11000',假设在cop_g_no上建立了 非聚 阅读全文
posted @ 2012-11-09 10:36 oer 阅读(299) 评论(0) 推荐(0)
摘要: 使用SQL SERVER的过程中常见有朋友抱怨,说SQL Server太吃内存了。这里笔者根据经验简单介绍一下内存相关的调优知识。首先说明一下SQL Server内存占用由哪几部分组成。SQL Server占用的内存主要由三部分组成:数据缓存(Data Buffer)、执行缓存(Procedure Cache)、以及SQL Server引擎程序。SQL Server引擎程序所占用缓存一般相对变化不大,则我们进行内存调优的主要着眼点在数据缓存和执行缓存的控制上。本文主要介绍一下执行缓存的调优。数据缓存的调优将在另外的文章中介绍。对于减少执行缓存的占用,主要可以通过使用参数化查询减少内存占用。1、 阅读全文
posted @ 2012-11-09 10:31 oer 阅读(822) 评论(0) 推荐(0)
摘要: sqlserver内存释放心得SQL Server 2008 或者R2的默认内存分配是2147483647MB, 差不多算是无穷大,对于系统内存的管理策略是有多少占多少。SQLserver会把所有处理过的SQL操作缓存在内存里,这样就不用总去读硬盘了。但是如果长时间运行SQL Server, 系统内存被用的差不多,再开启其他程序就有可能会报内存不足。这时候就需要释放内存缓存啦。一般我用以下两种办法:很简单,打开SQL Server configuration Manager,然后把SQL Server(MSSQLSERVER)重启一下,一般默认的instance 就是MSSQLServer,当 阅读全文
posted @ 2012-11-09 10:14 oer 阅读(26538) 评论(2) 推荐(0)
摘要: 一、数据库轮询缓存依赖。上面的步骤要我们自己动手实现起来很麻烦,没关系跟着微软混是不会吃亏滴,微软早就为我们提供好了一个工具叫Aspnet_regsql.exe 这个工具位于C:\Windows\Microsoft.NET\Framework\v2.0.50727这个路径下(也不一定但是一般就是这个路径)双击Aspnet_regsql.exe进行记录监控信息的表创建一个用于记录监控信息的表,表的字段就两个一个是表名,一个是版本号。然后,对需要监控的变增加一个触发器,当表的内容发生变化的时候进行触发。我们可以用insert delete update 触发器,如果一旦触发以上动作就在把那个监控. 阅读全文
posted @ 2012-11-09 10:01 oer 阅读(2426) 评论(0) 推荐(0)

导航