mysql 查询 count(*)、count(1)、count(field)的区别.及 order by 同 hive 中 sort by、 cluster by 的区别

目录
  • 1、mysql 查询 count(*)、count(1)、count(field)的区别
  • 2、mysql中 order by 同 hive 中 sort by、 cluster by 的区别

1、mysql 查询 count(*)、count(1)、count(field)的区别

  • count(*)对行的数目进行计算,包含NULL ;
  • count(1)这个用法和count(*)的结果是一样的;
  • count(field)对特定的列的值具有的行数进行计算,不包含NULL值。

2、mysql 中 order by 同 hive 中 sort by、 cluster by 的区别

  • order by ,hive 中同mysql的含义,进行全局排序,hive 的存储是基于hdfs的,若将所有的map的结果汇集到一个reduce,则运行很慢,最坏的情况内存不够,程序运行失败;
  • sort by ,是hive 中hql语句,含义是局部排序,在进入reduce之前进行排序;
  • cluster by,是hive 中hql语句,含义是分区,并且排序,该功能相当于distribute by 加上 sort by, 其目的是在大数据背景下,按照某个分区进行局部排序,之后再通过归并排序,进而间接实现全局有序。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值