
数据库
隐于花海,等待花开
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Hive优化参考
1、开启负载均衡set hive.map.aggr=true; set hive.groupby.skewindata=true;2、join优化join时,将最大的表放在join语句的最右边使用map join让小的维度表(1000条以下的记录条数)先进内存,在map端完成reduce。3、严格模式,设置严格模式可以禁止3种查询类型strict场景:表中数据及分区个数都非常大,执行一个包含所有分区的查询会触发巨大的MapReduce任务,非常耗时耗资源。此时,将hive设置为“strict”模原创 2021-08-17 10:08:06 · 258 阅读 · 0 评论 -
cast和convert用法和区别
1、cast语法:cast(字段a as 类型b)释义:把字段a的类型转换成类型b,as不可省略举例:order by cast (id as integer ) descid为字符串型,则需要转换为整数进行排序2、convent语法:convent(字段a 类型b)释义:把字段a的类型转换成类型b举例:order by convent (id integer ) desc总结:函数cast和convent作用相同,只是语法稍有区别。...原创 2021-07-05 17:22:43 · 3076 阅读 · 0 评论 -
left semi join
左半连接left semi join会返回左边表的记录,前提是其记录对于右边表满足on语句中的判断条件。对于常见的内连接(inner join)来说,这是一种特殊的、优化了的情况。大多数的SQL方言会通过in …exists结构来处理这种情况。但需要注意的是,select 和where语句不能引用到右边表中的字段。 hive不支持右半连接。...原创 2021-06-25 09:02:21 · 497 阅读 · 0 评论 -
left join详解
left join详解1.不考虑where条件下,left join 会把左表所有数据查询出来,on及其后面的条件仅仅会影响右表的数据(符合就显示,不符合全部为null)2.在匹配阶段,where子句的条件都不会被使用,仅在匹配阶段完成以后,where子句条件才会被使用,它将从匹配阶段产生的数据中检索过滤3.所以左连接关注的是左边的主表数据,不应该把on后面的从表中的条件加到where后,这样会影响原有主表中的数据4.where后面:是先连接然生成临时查询结果,然后再筛选on后面:先根据条件过滤筛原创 2021-06-03 17:33:56 · 61616 阅读 · 6 评论 -
sql语句执行顺序详解
sql语句定义的顺序(1) SELECT (2)DISTINCT<select_list>(3) FROM <left_table>(4) <join_type> JOIN <right_table>(5) ON <join_condition>(6) WHERE <where_condition>(7) GROUP BY <group_by_list>(8) WITH {CUBE|ROLLUP原创 2021-06-03 17:29:01 · 486 阅读 · 0 评论 -
HQL解析json字符串
函数:get_json_object(jsonStr,path)json字符串格式如下:大字段名 big_string 表名:table1{ "bankId" : "003285689100", "bangName" : "交通银行", "creDate" : "2020-06-04", "name" : "张三疯"}想要解析出对应key的value,可以使用如上函数select get_json_object(big_string,'$.bankI原创 2021-06-03 17:23:33 · 1134 阅读 · 0 评论 -
hive strict 严格模式禁止的3种查询类型
strict 严格模式strict场景:表中数据及分区个数都非常大,执行一个包含所有分区的查询会触发巨大的MapReduce任务,非常耗时耗资源。此时,将hive设置为“strict”模式,若查询未指定分区否则执行sql会报错。语法:set hive.mapred.mode=strict;查看表中所有分区可用 show partitions table 命令...原创 2021-05-28 15:23:58 · 595 阅读 · 0 评论 -
数据库面试题汇总(60题)
1. 什么是三范式?**第一范式(1NF):**数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。**第二范式(2NF):**数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。**第三范式(3NF...原创 2020-04-20 22:17:01 · 4928 阅读 · 0 评论 -
数据库的优化思路总结大全
1、什么是三范式?第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。第三范式(3NF):在第二范式的基础上,数据表...原创 2020-04-20 21:49:06 · 439 阅读 · 0 评论 -
数据库设计需要考虑的问题
(1)原始单据与实体之间的关系可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表...转载 2020-04-20 21:27:55 · 3185 阅读 · 0 评论 -
oracle和mysql各自的分页查询语句
1、Oracle的分页查询:使用rownum,两种如下:第一种: select * from (select t.,rownum row_num from mytable t) b where b.row_num between 1 and 10第二种: select * from ( select a., rownum rn from mytable a where rownum <...原创 2020-04-20 21:18:19 · 528 阅读 · 0 评论 -
mysql基础命令集和单表查询(非常详细!!!)
Navicat–运行选中的行的快捷键 ctrl+shift+r1、查询当前所有的数据库语法:show databases;2、查看当前数据库的创建方式:查看数据库的编码表语法:show create database 库名;3、创建一个数据库语法:create database 数据库名 ;由于创建数据库时没有指定编码表,因此会使用安装数据库时默认的编码表4、创建一个使用utf8...原创 2020-04-20 21:02:10 · 502 阅读 · 0 评论 -
给某个表中的某一列添加外键约束
给某个表中的某一列添加外键约束:语法:foreign key( 当前表中的列名 ) references 被引用表名(被引用表的列名);语法:alter table 表名 add foreign key( 当前表中的列名 ) references 被引用表名(被引用表的列名);注意:一般在开发中,被引用表的列名都是被引用表中的主键。举例: foreign key(co...原创 2020-04-15 00:03:59 · 5098 阅读 · 0 评论 -
MySQL多表查询(很全)
1)交叉连接查询交叉连接:查询到的是两个表的笛卡尔积语法:select * from a,b;2)内连接查询内连接查询的结果:两表的交集(公共部分)隐式内连接查询:语法:select * from a,b where a.列名 = b.列名显式内连接查询:语法:select * from 表名1 inner join 表名2 on 条件;3)外连接查询(1)左外连接左外连接...原创 2020-04-14 23:55:59 · 1234 阅读 · 0 评论 -
数据库多表的设计思路
1、先从需求中抽象出具体的实体对象,构建E(Entity)-R(Relation)图 ,即实体-关系 图2、分析实体具备哪些属性3、考虑实体和实体之间的关系问题4、创建实体表、中间表注意:实体表创建若有先后顺序,则先创建后者用到的前者,然后再创建中间表...原创 2020-04-14 23:48:53 · 218 阅读 · 0 评论