本文记录的是,在数据处理过程中,遇到了一个sql执行很慢,对一些大型的hive表还会出现OOM,一步一步通过参数的设置和sql优化,将其调优的过程. 先上sql ) t where t.num =1) t2 on t1.id = t2.id where t2.id = NULL; 可以看到这个sql由1个join,一个去重语句,组成,这两种操作都是很耗费资源的. 1.对链接操作,小表放在链接左边. 这是一个老生常谈的事情了,在这里不做细致介绍.基本来说,小表会减少mapreduce过程中的shu…
上个笔记中介绍了一些关于数据库.SQL的基础知识,并且创建我们后续练习所需的数据库.表以及表之间的关系,从本文开始进入我们的正题:SQL语句的练习. 文章目录 1.检索数据(SELECT语句) 1.1 检索列 1.2 检索不同的值(DISTINCT) 1.3 限制结果(LIMIT.OFFSET)(DBMS:MySQL) 1.4 使用注释(--.#./* */) 2.排序检索数据(ORDER BY子句) 2.1 按列名排序数据 2.2 按列位置排序 2.3 指定排序方向 正如上个笔记中所说,SQL…
<MySQL必知必会>过滤数据,数据过滤 1.过滤数据 1.1 使用 where 子句 在SEL ECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤. WHERE子句在表名(FROM子句) 之后给出,如下所示: select * from orders where Date(order_date) = '2005-09-01'; 需要注意的是,不仅SQL有数据过滤,在实际开发中,应用层也会有数据过滤.但是通常这样是不能令人满意的. 因此要对数据库进行优化,以便快速有效地对数据进行过滤…
在之前的博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,MySql必知必会实战练习(二)数据检索中介绍了所有的数据检索操作,下面对数据过滤操作进行总结. 1. where子句操作符 等于: = 不等于: != 或 <> 小于: < 小于等于: <= 大于: > 大于等于:>= 在指定的两个值之间:BETWEEN  AND 空值检查:is NULL where组合子句:AND OR IN NOT 例: select * from prod…
上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主要有按照单个/多个列名/列位置/混合排序.用DESC关键字指定排序方向. 这一次我们来看一下如何使用SELECT语句的WHERE子句来指定搜索条件进行数据过滤,包括使用=.>.<等基础操作符的基础数据过滤:使用AND.OR.IN.NOT操作符的高级数据过滤:以及使用%._.[]通配符的数据过滤操作…
文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8.0.16) 3.1 创建数据库 3.2 创建数据库表 3.2.1开始创建数据库表 3.2.2 为各表定义主.外键约束 3.3 插入数据 1.数据库基础 SQL是一种专门用来与数据库沟通的语言,因此在学习SQL之前,我们应该对数据库和数据库技术的某些基本概念有所了解. 本节主要介绍数据库及数据库技术的…
<MySQL必知必会>检索数据,排序检索数据 1.检索数据 1.1 select 语句 为了使用SELECT检索表数据,必须至少给出两条信息一想选择什 么,以及从什么地方选择. 1.2 检索单个列 select prod_name from products; (此时,检索得到的数据并未进行排序.) MySQL执行多条SQL语句,结束每条SQL语句时,必须加上" ; "分隔,尽管这是单条SQL语句,你加上也可以执行,但其他部分的DBMS却可能需要单条SQL语句也需要加上&q…
本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不同的DBMS有不同的语法和函数,具体请查阅相应的文档. 参考书籍: Ben Forta.<SQL必知必会>.第4版 王姗 萨师煊.<数据库系统概论>.第5版 (不会做目录链接,蓝瘦,香菇--好像也太长了,以后改写连载--) 搭建数据库 供应商表   Vendors(vend_id, v…
<MySQL必知必会>(点击查看详情) 1.写在前面的话 这本书是一本MySQL的经典入门书籍,小小的一本,也受到众多网友推荐.之前自己学习的时候是啃的清华大学出版社的计算机系列教材<数据库系统概论>,基础也算是半罐水,糊里糊涂,知识点欠缺梳理.于是,也算是借此机会,从这本书对数据库和SQL部分的知识点进行梳理,记录一下基础的关键的东西,也便于以后翻阅查询,好了,就不叨叨了. 2.MySQL基本操作 命令输入在 mysql> 之后: 命令用:或 \g 结束,仅按Enter不执…
写在前面的话 本文参考原博<走向面试之数据库基础:一.你必知必会的SQL语句练习-Part 1>和<走向面试之数据库基础:一.你必知必会的SQL语句练习-Part 2>进行练习,部分题目在不变化其练习目的的情况下进行了题意改动,并删除部分重复和无表的题目. 在此之前已练习完两遍并分别放在WizNote和Github,其中第二遍在Github上针对个人的sql弱项题目进行了更详细的说明(Github:MyTraining/sql),随着越来越熟练,本文作为第三次练习,部分重点题目的详…