摘要: 以前在SQL SERVER 2000中,包括网上都说查询时“abc%”能使用到索引,“%abc%”不能使用到索引,一次做培训的时候,给大家介绍“%abc%”不能使用索引的例子发现,在SQL SERVER 2005中是可能用到索引。在SQL SERVER 2005中查询优化器的确做了很大提高,以下是例子: 表[[zping.com]]]中operator建立索引idx_ope... 阅读全文
posted @ 2008-08-04 17:27 zping 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 这次在优化系统中,由于客户使用的SQL server 2005的标准版,此版本不支持分区功能,但如果不分区,系统优化的效果就不会很明显。后来使用了分区视图。 在系统中,没有使用对象关联,发现很多地方为查询信息,多次读取数据库。后来也用视图进行封装。 本文就讨论在Hibernate3.2如何配合使用数 阅读全文
posted @ 2008-08-04 17:09 zping 阅读(3261) 评论(0) 推荐(0) 编辑
摘要: 这次在优化系统中,由于先前都没配置对象关联,获取信息要多次去读数据库,效率很低,试了一下用计算列关联对象获取对象。 对象关联, 多对一关联,在对象中配置,一个单向关联对象, 在配置文件中,增加 (select s.id from Mfm_Noterminalplan s where s.id=orginplanid) 注意: 1,这... 阅读全文
posted @ 2008-08-04 17:05 zping 阅读(598) 评论(0) 推荐(0) 编辑
摘要: 一个很好的日志恢复工具,还可以审计数据的变化,支持(SQL server 2000 和SQL Server 2005) 下载地址:(长期有效,内含注册码) http://files.cnblogs.com/zping/LE410.rar 阅读全文
posted @ 2008-08-04 16:40 zping 阅读(2098) 评论(4) 推荐(0) 编辑
摘要: SQL Server 7.0和SQL Server2000中,可以用下面的命令查看: DBCC log ( {dbid|dbname}, [, type={0|1|2|3|4}] ) 例如:DBCC log (master,0) 参数: Dbid or dbname - 任一数据库的ID或名字 type - 输出结果的类型: 0 - 最少信息(operatio... 阅读全文
posted @ 2008-08-04 10:52 zping 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: 自从oracke 7.3以来,oracle提供了一种新的join技术,就是hash join。Hash Join只能用于相等连接,且只能在CBO优化器模式下。相对于nested loop join,hash join更适合处理大型结果集。Hash join不需要在驱动表上存在索引。 一. Hash Join概述 Hash join算法的一个基本思想就是根据小的row sourc... 阅读全文
posted @ 2008-07-30 14:15 zping 阅读(1284) 评论(0) 推荐(0) 编辑
摘要: 最近学习Oracle中,在其有hash表分区功能,就在想sql server 有类似分区吗,查了一些资料,发现没有介绍,在2005中目前只支持列表和范围分区。 以前只知道Sql Server有hash索引,本文就在Sql Server中实现Oracle里的hash表分区。在oracle 10g的ha 阅读全文
posted @ 2008-07-27 20:28 zping 阅读(3511) 评论(4) 推荐(0) 编辑
摘要: 为何IO数这么多,按理论:最大可能IO次数=表页数+索引页数 我们看看数据库里索引"idx_operator"的统计页数: 查看sql代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->s... 阅读全文
posted @ 2008-07-24 13:28 zping 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 昨晚在研究SQL Server 2005 强行扫描索引时,在数据量小时,IO逻辑读比较稳定,一旦数据量达到了一定程度以后,IO逻辑读数据会变化很大 测试环境:建立数据表: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.co... 阅读全文
posted @ 2008-07-23 23:42 zping 阅读(697) 评论(0) 推荐(0) 编辑
摘要: 上次我们发现在建立了索引时,分页排序还是很慢。 慢的语句: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT TOP (10*(10000-1)) ID FROM [dbo].[[[zping.c... 阅读全文
posted @ 2008-07-22 22:05 zping 阅读(1780) 评论(0) 推荐(0) 编辑
摘要: 上一次我们分析了两种写法不一样,产生的扫描计数差别很大,一个为3,一个为0,我们先看看后面的sql语句执行计划: 执行计划解释: 1,这里有两个合并排序,就是对3个id数据排序,通过合并算法排序(这里为何要用合并排序算法,我们在另一节中讨论) 2,通过排序后的数据,一次使用嵌套循环取出对应的索引值,一共循环三次。(嵌套循环算法将在另一节中讨论) ... 阅读全文
posted @ 2008-07-22 21:10 zping 阅读(2102) 评论(1) 推荐(0) 编辑
摘要: 在上次做分页分析是分析时,执行下面语句: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT TOP 19 * FROM [dbo].[[[zping.com]]]]] WHERE (ID NOT IN (SELECT TO... 阅读全文
posted @ 2008-07-22 20:02 zping 阅读(2707) 评论(0) 推荐(0) 编辑
摘要: 前几次,讨论了sql server 2005的分页和优化,后面谈到目前常用的分页方法在读取后面分页是会越来越慢。后面给了一个高效的分页方法 ,但是想一下,对单个表并且在索引覆盖情况下是很高效的,但实际业务逻辑很复杂,取的数据可能来自多个表,这样的方法是不好的。 那到底是用哪个分页方法啊,这两天看了一下,淘宝网 (http://www.taobao.com/) 和 易趣网 (h... 阅读全文
posted @ 2008-07-22 19:55 zping 阅读(942) 评论(1) 推荐(0) 编辑
摘要: 前两次讨论了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 阅读(937) 评论(2) 推荐(0) 编辑
摘要: 是一篇我们讨论了,SQL Server 2005 分页 的两种情况,在取不同分页时,花的时间很大,如果我们真的取后面几页,如果有几千倍的ioa差异, 假如客户是自己输入页数,那他要等多长时间才能打开,有没有好的办法优化速度。 我们先把先前的sql语句做一个修改: Code highlighting produced by Actipro CodeHighligh... 阅读全文
posted @ 2008-07-21 16:31 zping 阅读(989) 评论(1) 推荐(0) 编辑