1.带有分区的表查询
在执行分区表查询语句的时候 , 如果where语句中不包含分区字段过滤条件来限制查询范围 , Hive就不允许执行该查询 , 即不允许用户去扫描所有的分区来查询数据 , 因为一般分区表都会有非常大的数据量 , 而且数据增速也很快 , 如果没有进行分区限制的查询 , 可能会消耗很大的资源来处理这个表 .
2.带有order by的查询
使用order by 时必须要有limit语句来限制 , 因为全排序会将结果分发到一个reduce来处理 , 会消耗大量的时间 .
3.限制笛卡尔积的查询