`

一个sql优化例子:用sum取代count

阅读更多
原SQL:select count(*) as total from table a where a.row1='0'

修改后:
select
  sum(case a.row1 when '0' then 1 else 0 end) as total
from
  table a

或则

select
  sum(if(a.row1='0',1,0)) as total
from
  table a

SQL优化例子:

优化前

select
  s.Name,
  (select count(*) from CheckCertLog where StoreId=s.StoreId and State=0 and CheckTime between '2010-02-02' and '2010-9-2')as fail_count,
  (select count(*) from CheckCertLog where StoreId=s.StoreId and State=1 and CheckTime between '2010-02-02' and '2010-9-2')as success_count,
  (select count(*) from CheckCertLog where StoreId=s.StoreId and CheckTime between '2010-02-02' and '2010-9-2')as tcount
from
  Store as s

优化后

select 
  a.Name,
  sum(case b.State when 0 then 1 else 0 end ) as fail_count,
  sum(case b.State when 1 then 1 else 0 end ) as success_count,
  sum(case b.State when 1 then 1 else 1 end) as total
from
  Store a, CheckCertLog b
where
  a.StoreId=b.StoreId and b.CheckTime between '2010-02-02' and '2010-9-2'
分享到:
评论
1 楼 cectsky 2011-04-22  
请问大哥 ,这个效率有多大的提升呢?以前还真么这么弄过!

相关推荐

    SQL优化 SQL优化软件 SQL优化工具

    总的来说,SQL优化是一个系统性的工作,需要结合硬件配置、数据库设计、SQL编写等多个方面进行综合考虑。而借助专业的SQL优化工具,这个过程可以变得更加高效和精确,从而确保数据库系统的稳定和高效运行。

    SQL优化最佳实践:构建高效率Oracle数据库的方法与技巧.docx

    SQL优化最佳实践:构建高效率Oracle...本资源摘要信息涵盖了SQL优化的基本概念、Oracle数据库与SQL优化的关系、SQL执行原理、Oracle数据库架构和SQL执行流程等方面的知识点,为读者提供了一个系统的了解SQL优化的框架。

    sql优化书籍大全

    这四个原则贯穿于整个SQL优化过程,是提升查询效率的基础。 1. 减少查询次数:通过联合查询、子查询优化和存储过程等方式,将多次数据库交互合并为一次,降低网络传输和数据库处理的压力。 2. 减小数据量:通过...

    Oracle_SQL优化规则

    8. **适当使用集合函数**:SUM, COUNT等集合函数可能需要全表扫描,考虑是否可以使用分区函数或分组来减少计算范围。 9. **限制返回结果**:使用LIMIT或ROWNUM限制返回的行数,尤其是在开发和测试环境中,避免拉取...

    【整理】数据库面试题索引sql优化+数据库SQL优化总结之百万级数据库优化

    1. **SQL基础与语法**:面试通常会涉及到SQL的基本概念,如SELECT语句、JOIN操作、子查询、聚合函数(COUNT、SUM、AVG等)、WHERE和HAVING子句的区分。 2. **索引原理**:索引是提高查询速度的关键,面试中可能会问...

    提高sql查询速度优化

    ### 提高SQL查询速度优化 #### 一、不合理的索引设计 索引的设计对于SQL查询的速度至关重要。索引能够显著提升数据检索的速度,尤其是在处理大量数据时。然而,如果索引设计不当,则可能导致查询效率低下。 **1. ...

    SQL 高级教程

    * SQL 聚合函数:包括 AVG 函数、COUNT 函数、FIRST 函数、LAST 函数、MAX 函数、MIN 函数、SUM 函数等。 * SQL 字符串函数:包括 UCASE 函数、LCASE 函数、MID 函数、LEN 函数等。 * SQL 日期函数:包括 NOW 函数、...

    Sql优化.ppt

    SQL 查询优化是数据库优化的重要部分,查询优化器是 SQL SERVER 中的一个组件,可以自动优化查询语句,提高查询效率。本文将详细介绍查询优化器的工作原理、SARG 的定义和应用、查询优化的 tips 等。 一、查询优化...

    数据库实验(sql server):高级SQL查询(分组、统计、嵌套、组合查询【附SQL源码.TXT】)

    嵌套查询是指在一个外部查询中使用另一个内部查询的结果。这种查询结构可以用来处理更为复杂的业务逻辑,特别是在需要跨多个表进行深入分析时。 **示例:** - **找出选了“数据库原理”这门课的学生数量:** ```...

    使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解

    首先举个栗子(不想看的话直接下面看总结): order_type:订单类型 open_id:用户唯一标识 SELECT date(create_time) AS '当天日期', sum(real_price) AS '当天总收入', sum函数中使用if判断条件:{ sum( IF ...

    收获,不止SQL优化 PDF 带书签 第二部分

    收获,不止SQL优化 PDF 带书签 第二部分

    SQL Pocket Guide 3rd Edition

    - 聚合函数:COUNT、SUM、AVG、MIN、MAX等统计函数的使用。 3. **连接查询** - INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN:理解不同类型的联接操作,合并来自多个表的数据。 - 自连接:处理一个表内部的...

    Inside Microsoft SQL Server 2008: T-SQL Querying

    - **分组与聚合**:讲解GROUP BY和聚合函数(如COUNT、SUM等)的使用技巧,以实现对数据的高效统计分析。 ##### 3. **性能优化与索引管理** - **索引类型与选择**:探讨不同类型的索引(如聚集索引、非聚集索引、...

    字符串合计(SQL SUM)

    ms sql server 字符合计,类似sum函数的功能,不过是针对字符型!

    收获,不止SQL优化 PDF 带书签 第三部分

    然而,SQL虽然实现简单可乐,却极易引发性能问题,那时广大SQL使用人员可要“愁”就一个字,心碎无数次了。 缘何有性能问题?原因也一字概括:“量”。当系统数据量、并发访问量上去后,不良SQL就会拖跨整个系统,...

    SQL语句中SUM与COUNT的区别深入分析

    SUM是对符合条件的记录的数值列求和 COUNT 是对查询中符合条件的结果(或记录)的个数 例如: 表fruit id name price 1 apple 3.00 2 pear 4.00 ... 您可能感兴趣的文章:解析关于SQL语句Count的一点细节

    sql面试题(sql查询优化)

    以下是从给定的部分内容中抽取的一个SQL查询优化实例: ```sql -- 创建测试表testA CREATE TABLE testA ( id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, ta_year CHAR(10) NOT NULL, ta_num INT NOT NULL ); GO ...

Global site tag (gtag.js) - Google Analytics