随笔分类 - SQL 技巧和优化
讨论如何高效的编写SQL语句。
摘要:今天客户系统升级,通过DMVs性能分析查了一下,升级后发现一个语句执行时间比较长,执行语句要好几秒钟,调出语句如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.
阅读全文
摘要:前段时间,公司的同事,处理一个业务要求 ,说比较复杂,不想通过语句一个一个机构去递归查询配置信息,如过本机构没有,则去取其上一级机构的配置信息,直到最高层,希望通过一条sql查询出信息: Code highlighting produced by Actipro CodeHighlighter (f
阅读全文
摘要:今天,一个同事说有个查询比较复杂,需求是:查询机构下的用户数(包括下面全部机构用户),同时还要统计下属机构的用户数。 业务要求:要统计总公司下的用户,还要统计总公司下属的全部机构(技术部,分公司等)的用户数, 同时还要统计技术部,这时统计技术部的用户,还可能包含技术一部,技术二部,技术三部,可能技术
阅读全文
摘要:最近公司同事碰到需求,实现一个功能,想用一个sq语句实现,他让我看看如何实现sql。由于前期做培训时说到尽量减少和数据库的交互,能一条sql取出来就不用两次sql语句: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATE TABLE...
阅读全文
摘要:前段时间在 http://www.itput.net/ 看到 一篇文章, http://www.itpub.net/thread-1031306-1-4.html 提到一个SQL语句: 建立环境: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.c...
阅读全文
摘要:避免 LEFT JOIN 和 NULL 当然,有很多时候您需要执行 LEFT JOIN 和使用 NULL 值。但是,它们并不适用于所有情况。改变 SQL 查询的构建方式可能会产生将一个花几分钟运行的报告缩短到只花几秒钟这样的天壤之别的效果。有时,必须在查询中调整数据的形态,使之适应应用程序所要求的显示方式。虽然 TABLE 数据类型会减少大量占用资源的情况,但在查询中...
阅读全文
摘要:SQL优化--使用关联查询代替子查询 测试例子: 子查询: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select a.*, (select workflowname from workflowbase where i...
阅读全文
摘要:在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写sql语句时通常会遇到如下语句: 两个表连接时,取一个表的数据,一般的写法通过关联查询(inner j
阅读全文
摘要:用单一存储过程计算报表,替换以前用java+Hibernate的给客户做的计算报表,客户每次用后系统慢等各种问题,该存储过程是当时花了近一周时间,看以前的逻辑,修改的,一开始觉得很简单,但越做越复杂,中途都想放弃,最终坚持下来,完整的替换了以前程序单条SQL计算,保留下来脚本,做纪念! IF EXI
阅读全文