栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

高质量Hive的常见用法

高质量Hive的常见用法

  1. 查询sql进行不使用select *,而是select具体字段,节省资源,减少网络开销,*查询时,很可能就不会使用到覆盖索引,就会造成回表查询

  2. 如果知道查询结果只有一条,或者只要最大/最小一条数据,建议用limit 1

  3. 尽量避免在where子句中用or连接,可以换成两个查询用union all连接,使用or可能导致索引失效

  4. 优化like语句,like '%123'和like '123%'有区别,把%放前面不走索引,放后面会走索引

  5. 使用where条件限定要查询的数据,避免返回多余的行,要啥数据就查啥,避免查出来之后再过滤

  6. 尽量避免在where子句中对字段进行表达式操作,将导致系统放弃使用索引进行全表扫描,比如where age-1=10,不如直接用age=11

  7. left join时,左表尽量小,条件进行放在左边处理,或者在join之前处理好再进行join

  8. 尽量避免在where子句中使用!=或<>操作符,否则引擎可能放弃使用索引进而进行全表扫描,如age<>18,可换为age > 18 union all age <18

  9. 慎用distinct,在字段很多时候使用会大大降低查询效率,可用group by代替

  10. 尽量用union all代替union

  11. 只含数字的字段尽量使用数字类型,不要设置为字符型,字符型会降低查询和连接的性能,并会增加存储开销

  12. 索引不适合建在有大量重复数据的字段上,如性别等,可能会放弃索引

  13. 连接多个表时,加上表名

  14. 先过滤再执行groupby

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号