gate_s

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2013年8月20日

摘要: left join 和 left outer join 的区别通俗的讲: AleftjoinB的连接的记录数与A表的记录数同 ArightjoinB的连接的记录数与B表的记录数同 AleftjoinB等价BrightjoinAtableA: Field_K,Field_A 1a 3b 4ctableB: Field_K,Field_B 1x 2y 4zselecta.Field_K,a.Field_A,b.Field_K,b.Field_B fromaleftjoinbona.Field_K=b.Field_K Field_KField_AField_KField_B -------... 阅读全文
posted @ 2013-08-20 14:49 gate_s 阅读(449) 评论(0) 推荐(0)

摘要: 对于T-SQL编程,用得最广泛的,莫过于查询(Querying)。要想写出高质量、高性能的查询语句,必须深入地了解逻辑查询处理。一、逻辑查询处理的各个阶段(5)SELECT DISTINCT TOP() (1)FROM JOIN ON (2)WHERE (3)GROUP BY (4)HAVING (6)ORDER BY 上边语句是一个普通格式的查询语句,基本包含了所有的查询条件和关键字。你可能会发现前边的序号并不是按顺序来的,被你说对了,这是SQL与其他编程语言不同的最明显特征,就是它的执行顺序并不是按照编写顺序来的。上边的序号,就是查询语句在执行过程中的逻辑处理顺序。下面简单介绍一下各... 阅读全文
posted @ 2013-08-20 14:23 gate_s 阅读(232) 评论(0) 推荐(0)

摘要: Tsql查询执行顺序(二)T-SQL查询处理这种逻辑处理顺序,是理论上的处理过程,实际情况还会根据查询优化器选择最优的执行计划。还是从FROM阶段讲开。(1)FROM阶段 这个阶段是查询逻辑处理的第一步。想到这里,想起了LINQ表达式不就是从FROM开始的嘛,看来还是挺有道理的。FROM阶段负责表示表或要查询的表。如果指定了表运算符,还需 要按从左到右的顺序,对运算符进行逐个处理。表运算符有4类,JOIN,APPLY,PIVOT,UNPIVOT。每个表运算符都有自己的处理规则。这里挑最常见的JOIN来说。对于联接(join),一般有以下几个个步骤:a.求笛卡尔积,对两张表进行cross joi 阅读全文
posted @ 2013-08-20 14:01 gate_s 阅读(185) 评论(0) 推荐(0)

摘要: 方法有以下三种:1.原因应该在数据访问有问题,可以把连接时间设置长些,在数据库连接字符串,加上Connect Timeout=18000,单位毫秒2,在web.config中加上以下语句:来自MSDN解释: httpRuntime是配置asp.net http运行时设置,以确定如何处理对asp.net应用程序的请求。 executionTimeout:表示允许执行请求的最大时间限制,单位为秒 maxRequestLength:指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB ( 阅读全文
posted @ 2013-08-20 13:18 gate_s 阅读(942) 评论(0) 推荐(0)

摘要: ibatis中使用select top #num# * from tableName出现错误。由于初次用ibatis还不知道在它里边拼写SQL语句的一些规则,导致一些自认为很平常的SQL语句,在它这里翻了船。select top #number#这种写法是不正确的,原因待查。正确的书写方式是 select top $number$ 。下面这段话是在网络里找到的它也没给出具体的解释,只是说这是什么SQL的动态写法,不明所以。在iBATIS中,对于top参数,只能用动态SQL方式。如 #与$的区别昨天一个项目中在写ibatis中的sql语句时,order by #field#, 运行时总是报错,后 阅读全文
posted @ 2013-08-20 13:11 gate_s 阅读(404) 评论(0) 推荐(0)

摘要: 由于原来系统的分页方式,采用的是假分页,效率很低,且经常数据库超时报黄页。所以,最近都在寻找合适的分页优化方法。原sql模型:WITHRecordsAS(SELECTROW_NUMBER()OVER(ORDERBY XXX DESC)ASRecordNumber, RecordCount=COUNT(1)OVER(), …… …… …… FROM table1 WHERE 条件)SELECT * FROMRecordsWITH(NOLOCK)WHERERecordNumberBETWEEN1AND15目前找到的比较有效地优化方式,有两种,一... 阅读全文
posted @ 2013-08-20 13:10 gate_s 阅读(333) 评论(0) 推荐(0)

摘要: 看懂SqlServer查询计划转载地址:http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html阅读目录开始Sql Server 查找记录的方法Sql Server Join 方式更具体执行过程索引统计信息:查询计划的选择依据优化视图查询推荐阅读-MSDN文章对于SqlServer的优化来说,可能优化查询是很常见的事情。关于数据库的优化,本身也是一个涉及面比较的广的话题,本文只谈优化查询时如何看懂SqlServer查询计划。由于我对SqlServer的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Ser 阅读全文
posted @ 2013-08-20 13:09 gate_s 阅读(257) 评论(0) 推荐(0)

摘要: SQL Server 查询处理中的各个阶段(SQL执行顺序)SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。 每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有在查询中指定某一子句,将跳过相应的步骤。下面是对应用于SQL server 2000和SQL Server 2005的各个逻辑步骤的简单描述。Code highlig 阅读全文
posted @ 2013-08-20 13:08 gate_s 阅读(606) 评论(0) 推荐(0)

摘要: MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询 1、把数据、日志、索引放到不同的I/O设备上... 阅读全文
posted @ 2013-08-20 13:07 gate_s 阅读(671) 评论(2) 推荐(0)