摘要:
上一篇我们讨论了,SQL Server 2005 分页 的两种情况,在取不同分页时,花的时间很大,如果我们真的取后面几页,如果有几千倍的ioa差异,假如客户是自己输入页数,那他要等多长时间才能打开,有没有好的办法优化速度。 我们先把先前的sql语句做一个修改:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select*from (selectid,row_number()over(orderbyid) scnfrom[dbo].[[[zpi 阅读全文
摘要:
在web开发中经常碰到排序,可能有人有这样的想法: 1,排序是什么时候排序,是在执行sql语句前完成排序功能,还是最后?2,排序对sql语句性能有影响吗? 3,在排序中建立索引有好处吗? 这段时间,在优化系统时,也碰到类似的问题,今天我们来讨论一下排序这个问题, 1,首先我们看看什么时候排序 执行以下的sql语句:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SELECT* FROM [dbo].[[[zping.com]]]]]where 阅读全文
摘要:
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM = 21其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM = 21控制分页查询的每页的范围。上面给出的这个分页查询语句,在大多数情况拥有较高的效率。分页的目的就是控制输出结果集大小,将结果尽快的返回。在上面的分页查询语句中,这种考虑主要体现在WHERE ROWNUM <= 40这句上 阅读全文
摘要:
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而 阅读全文