随笔分类 - SQL Server 研究
摘要:以前对数据库的隔离级别,有所了解,但不知道真正其中的区别。今天就讨论一下这4个隔离级别 下面是4个隔离级别,在SQL server 2005里的介绍 READ UNCOMMITTED 指定语句可以读取已由其他事务修改但尚未提交的行。 READ COMMITTED 指定语句不能读取已由其他事务修改但尚未提交的数据。这样可以避免脏读。其他事务可以在当前事务的各个...
阅读全文
摘要:这是SQL Server 2005里的介绍: 如果两个联接输入都很大,而且这两个输入的大小差不多,则预先排序的合并联接提供的性能与哈希联接相近。但是,如果这两个输入的大小相差很大,则哈希联接操作通常快得多。 哈希联接可以有效处理未排序的大型非索引输入。它们对复杂查询的中间结果很有用,因为: · 中间
阅读全文
摘要:简介: 如果两个联接输入并不小但已在二者联接列上排序(例如,如果它们是通过扫描已排序的索引获得的),则合并联接是最快的联接操作。如果两个联接输入都很大,而且这两个输入的大小差不多,则预先排序的合并联接提供的性能与哈希联接相近。 从上次我们分析来看,嵌套循环适合输入和输出都小的情况,那如果输入和输入都
阅读全文
摘要:前段时间看了一篇关于算法的blog,地址如下: http://www.cnblogs.com/perfectdesign/archive/2008/04/24/sql_tuning.html 不少人也给了解决方法,以前也研究过(嵌套,合并,hash)算法,但没有真正的用到优化中,这个例子给了我很大启
阅读全文
摘要:当我一个运行很长的事务,在事务提交以完后,突然断电了,这时长事务里肯定有没有处理的语句,面对这样情况,一部分已经处理完了,一部还没来得及处理的情况,SQL Server 2005 数据库是如何保证事务的持久性和一致性? 以上的情况,查一般的SQL Server 2005资料是很难有答案的,这段时间在学Oracle时,了解了其事务是如何保证事务的acid ,后来在SQL Server ...
阅读全文
摘要:以前在SQL SERVER 2000中,包括网上都说查询时“abc%”能使用到索引,“%abc%”不能使用到索引,一次做培训的时候,给大家介绍“%abc%”不能使用索引的例子发现,在SQL SERVER 2005中是可能用到索引。在SQL SERVER 2005中查询优化器的确做了很大提高,以下是例子: 表[[zping.com]]]中operator建立索引idx_ope...
阅读全文
摘要:一个很好的日志恢复工具,还可以审计数据的变化,支持(SQL server 2000 和SQL Server 2005) 下载地址:(长期有效,内含注册码) http://files.cnblogs.com/zping/LE410.rar
阅读全文
摘要: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...
阅读全文
摘要:最近学习Oracle中,在其有hash表分区功能,就在想sql server 有类似分区吗,查了一些资料,发现没有介绍,在2005中目前只支持列表和范围分区。 以前只知道Sql Server有hash索引,本文就在Sql Server中实现Oracle里的hash表分区。在oracle 10g的ha
阅读全文
摘要:为何IO数这么多,按理论:最大可能IO次数=表页数+索引页数 我们看看数据库里索引"idx_operator"的统计页数: 查看sql代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->s...
阅读全文
摘要:昨晚在研究SQL Server 2005 强行扫描索引时,在数据量小时,IO逻辑读比较稳定,一旦数据量达到了一定程度以后,IO逻辑读数据会变化很大 测试环境:建立数据表: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.co...
阅读全文
摘要:上一次我们分析了两种写法不一样,产生的扫描计数差别很大,一个为3,一个为0,我们先看看后面的sql语句执行计划: 执行计划解释: 1,这里有两个合并排序,就是对3个id数据排序,通过合并算法排序(这里为何要用合并排序算法,我们在另一节中讨论) 2,通过排序后的数据,一次使用嵌套循环取出对应的索引值,一共循环三次。(嵌套循环算法将在另一节中讨论) ...
阅读全文
摘要:在上次做分页分析是分析时,执行下面语句: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT TOP 19 * FROM [dbo].[[[zping.com]]]]] WHERE (ID NOT IN (SELECT TO...
阅读全文
摘要:1, 什么是统计信息 以下是官方的对统计信息的描述: 按照默认设置,如果表中的某列没有索引,则SQL Server会自动为该列创建统计。然后,查询优化器评估该列中数据分布范围的统计信息,以选择一个更为有效的查询处理方案。分辨自动创建的统计很简单,在SQL Server 7.0和SQL Server 2000中,自动创建的统计的前缀为_WA_Sys。 个人感想: ...
阅读全文
摘要:最近同事处理一个客户发现一个bug,在排序的时候出现问题: 可能是数据库的bug field002这里有个”2008-03-02“的排序,其他都是按field002来排序,个别不是按field002排序。 执行语句 select * from ( select id,field001 as field001,field002 a...
阅读全文