美文网首页
sql优化小技巧

sql优化小技巧

作者: 章鱼哥呀 | 来源:发表于2018-07-16 21:54 被阅读0次

11.大数据量时,怎样让全局count/sum distinct更快?

以下两个SQL,有人可能认为例句1快于例句2。

例句1:
SELECT
COUNT(DISTINCT uin) login_uins
FROM
tabled
WHERE
ftime >= 20121001
AND ftime <= 20121001

例句2:
SELECT
COUNT(uin) login_uins
FROM
( select distinct uin from tabled WHERE
ftime >= 20121001
AND ftime <= 20121001 ) subq

实际上,例句2远远快于例句1。元芳,你怎么看?

例句1虽然只有1个mr,但是,这个mr却只有1个reduce任务,导致这个reduce任务需要读取和处理大量的数据,这不仅导致执行慢,而且,在如果tabled中的数据量太大,可能导致执行reduce任务的节点down掉。
例句2先去重,后全局统计,没有像例句1那样明显的瓶颈。所以,请牢记当对某个数据集进行全局count distinct操作时,尽量用例句2的形式。

在其他情况下,即使有group by,但是group by的维度太低,也可以考虑这种改写方法。也就是说,一定要避免group by的维度太低。

相关文章

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • sql优化小技巧

    11.大数据量时,怎样让全局count/sum distinct更快? 以下两个SQL,有人可能认为例句1快于例句...

  • (103)mysql优化之sql语句优化

    概述 该篇主要介绍一些常用的sql优化技巧 sql优化 1.select * from table_name wh...

  • sql面试题大全

    sql面试题大全 1、[10条SQL优化技巧](http://www.wityx.com/post/250_1_1...

  • SQL优化技巧

    一、插入优化 1.1 手动提交事务 由于mysql默认事务提交方式是自动提交的,意味着当我们执行完一条insert...

  • sql面试题大全

    sql面试题大全1、10条SQL优化技巧2、58到家MySQL数据库开发规范3、java.sql.Date和jav...

  • 常用sql优化2019-09-27

    sql优化 sql优化.................................................

  • 4条SQL技巧(sql 优化 sql索引优化)

    (1)负向条件查询不能使用索引 not in/not exists都不是好习惯 可以优化为in查询: (2)前导模...

  • SQL 常用优化手段总结 - 小技巧

    中国有句古话叫做:欲速则不达。在一口气学完了分析 SQL 语句的一般步骤与索引的正确运用方式后小憩片刻。搭配上红茶...

  • mysql数据库优化

    1. Mysql优化介绍 1.1 sql优化 a. sql优化分析b. 索引优化c. 常用sql优化d. 常用优化...

网友评论

      本文标题:sql优化小技巧

      本文链接:https://www.haomeiwen.com/subject/kwdipftx.html