摘要: 前两次讨论了SQL server 2005分页效率和方法。在sql server 2000的分页是采用什么方法啊,对比一下两者的差别和性能 SQL server 2000的分页方法, 其常用分页sql代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Co... 阅读全文
posted @ 2008-07-21 17:39 zping 阅读(938) 评论(2) 推荐(0) 编辑
摘要: 是一篇我们讨论了,SQL Server 2005 分页 的两种情况,在取不同分页时,花的时间很大,如果我们真的取后面几页,如果有几千倍的ioa差异, 假如客户是自己输入页数,那他要等多长时间才能打开,有没有好的办法优化速度。 我们先把先前的sql语句做一个修改: Code highlighting produced by Actipro CodeHighligh... 阅读全文
posted @ 2008-07-21 16:31 zping 阅读(990) 评论(1) 推荐(0) 编辑
摘要: SQL Server 2005 分页比 2000的确提高不少,可以使用 row_number()函数来处理。 先看看这个分页函数的效率。新建一个表[[zping.com]] Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.co... 阅读全文
posted @ 2008-07-21 15:10 zping 阅读(1358) 评论(0) 推荐(1) 编辑
摘要: 在web开发中经常碰到排序,可能有人有这样的想法: 1,排序是什么时候排序,是在执行sql语句前完成排序功能,还是最后? 2,排序对sql语句性能有影响吗? 3,在排序中建立索引有好处吗? 这段时间,在优化系统时,也碰到类似的问题,今天我们来讨论一下排序这个问题, ... 阅读全文
posted @ 2008-07-20 22:52 zping 阅读(9265) 评论(0) 推荐(0) 编辑
摘要: 1, 什么是统计信息 以下是官方的对统计信息的描述: 按照默认设置,如果表中的某列没有索引,则SQL Server会自动为该列创建统计。然后,查询优化器评估该列中数据分布范围的统计信息,以选择一个更为有效的查询处理方案。分辨自动创建的统计很简单,在SQL Server 7.0和SQL Server 2000中,自动创建的统计的前缀为_WA_Sys。 个人感想: ... 阅读全文
posted @ 2008-07-20 22:23 zping 阅读(7743) 评论(4) 推荐(2) 编辑
摘要: 最近同事处理一个客户发现一个bug,在排序的时候出现问题: 可能是数据库的bug field002这里有个”2008-03-02“的排序,其他都是按field002来排序,个别不是按field002排序。 执行语句 select * from ( select id,field001 as field001,field002 a... 阅读全文
posted @ 2008-07-18 10:48 zping 阅读(765) 评论(0) 推荐(0) 编辑
摘要: 目前在做一个项目优化时,想通过数据库层分析sql server系统性能,查了一下网上代码,修改了一下标题和DMVs代码,以下代码可以用来分析系统运行一段时间后,那些语句是系统忙的sql语句。做为参考。 另类使用: 一次在分析一个对账功能时,查看系统代码,看了半天,写得太不规范,又不写注释,看不明白。最后用了下面一个小技巧,和大家一起分享: 就是在测量功能时,先以下命令清除s... 阅读全文
posted @ 2008-07-15 13:47 zping 阅读(6923) 评论(7) 推荐(0) 编辑
摘要: 分析sql执行计划重用次数,查看绑定变量使用情况 select total_elapsed_time / execution_count 平均时间,total_logical_reads/execution_count 逻辑读, usecounts 重用次数,SUBSTRING(d.text, (statement_start_offset/2) + 1, ((CASE... 阅读全文
posted @ 2008-07-15 13:46 zping 阅读(1590) 评论(0) 推荐(0) 编辑
摘要: dmv分析索引的使用情况,包括扫描次数,更新次数,有利于你评估设计的索引使用效率,sql server 2005的确比2000在性能分析上提高很多。 user_seeks : 通过用户查询执行的搜索次数。 个人理解: 此统计索引seek的次数 user_scans: 通过用户查询执行的扫描次数。 个人理解:此统计表扫描的次数,无索引配合 user_lookups: 通过用户查询执行的... 阅读全文
posted @ 2008-07-15 13:45 zping 阅读(1868) 评论(0) 推荐(0) 编辑
摘要: 用单一存储过程计算报表,替换以前用java+Hibernate的给客户做的计算报表,客户每次用后系统慢等各种问题,该存储过程是当时花了近一周时间,看以前的逻辑,修改的,一开始觉得很简单,但越做越复杂,中途都想放弃,最终坚持下来,完整的替换了以前程序单条SQL计算,保留下来脚本,做纪念! IF EXI 阅读全文
posted @ 2008-07-15 13:44 zping 阅读(1613) 评论(1) 推荐(0) 编辑
摘要: [代码][代码] 阅读全文
posted @ 2008-07-15 13:43 zping 阅读(3812) 评论(1) 推荐(0) 编辑
摘要: createPROCEDURE[dbo].[auto_checkblocks]ASsetnocountonifexists(select*frommaster..sysprocesseswhereblocked0)begin/**//*showtopblockers,butnoduplicates*... 阅读全文
posted @ 2008-06-01 14:58 zping 阅读(2614) 评论(2) 推荐(1) 编辑
摘要: 刚到公司不久,才知道公司产品在性能上有问题,数据量和并发数一大,系统就很慢,需要优化。在和公司技术同事讨论某模块优化,通过sql无法优化,因为系统sql是判断5个纬度,一个用户id, 一个机构id,一个岗位id, 还有级别判断和是否公共。 阅读全文
posted @ 2008-04-01 23:26 zping 阅读(1575) 评论(2) 推荐(0) 编辑
摘要: 客户的系统并发量一大,数据库经常就死锁,牺牲掉另一个进程,数据就不准,经常造成数据不一致。给客户带来很大不便,公司专门成立了项目小组来优化数据库和修改程序。 一开始,我提出通用的解决办法:如; 1,降低事务隔离级别 2,在方法上使用同步策略 3,减少事务的执行长度 但接触系统代码和表设计,代码逻辑后,只是根据这些经验来解决死锁,这没那么... 阅读全文
posted @ 2008-04-01 22:50 zping 阅读(2060) 评论(1) 推荐(0) 编辑
摘要: 最近负责优化一个公司项目的数据库,先前用SQL SERVER 2000企业版快一年时间还不错,问题比较少,但到年初切换到SQL server 2005标准版,经常出问题,并发量一大i经常出现系统报错,看了一些JBOSS里系统那个错误日志,是两个方法有问题,错误很多是”jdbc commit failed“和死锁 。 但对这两个方法做了测试也没问题, 都是简单的查询,在网上查“... 阅读全文
posted @ 2008-04-01 22:20 zping 阅读(2091) 评论(1) 推荐(0) 编辑