数据库
文章平均质量分 77
分享数据库相关的文章
Impl_Sunny
这个作者很懒,什么都没留下…
展开
-
【Hive】Hive数据库join操作雷区
基础操作测试首先准备两张表收入表 hive_join_gaap_test 和 信息表 hive_join_pl_test,表内容如下:select * from hive_join_pl_test;hive_join_pl_testselect * from hive_join_gaap_test;一、LEFT OUTER JOINselect a.clid, a.pid, b.pid, b.plname, a.gaap from hive_join_gaap_test原创 2022-01-17 09:50:26 · 439 阅读 · 0 评论 -
【Hive】with as 语句真的会把数据存内存嘛?(源码剖析)
0.前言最近有好几个朋友都有咨询这个问题,大概有两类:1、为啥我用了with..as效率没有提高?2、sql跑不动,改成with..as的写法,会不会更好些?网上博客几乎都有结论with ... as语句会把数据放在内存:一1.1、Hive-SQL在hive中有一个参数hive.optimize.cte.materialize.threshold这个参数在默认情况下是-1(关闭的);当开启(大于0),比如设置为2,则如果with..as语句被引用2次...原创 2021-09-26 09:46:01 · 2793 阅读 · 3 评论 -
【MySQL】大批量更新数据的方法
0、前言mysql 批量更新如果一条条去更新效率是相当的慢, 循环一条一条的更新记录,一条记录update一次,这样性能很差,也很容易造成阻塞。mysql 批量更新共有以下四种办法一、replace into 批量更新replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y');二、insert into ...on duplicate key update批量更新insert into test_tbl (id,dr原创 2021-11-15 10:52:26 · 4197 阅读 · 0 评论 -
【MySQL】常被忽视的SQL错误用法
一、sql语句的执行顺序FROM <left_table>ON <join_condition><join_type> JOIN <right_table>WHERE <where_condition>GROUP BY <group_by_list>HAVING <having_condition>SELECTDISTINCT <select_list>ORDER BY &l原创 2021-11-09 10:16:05 · 94 阅读 · 0 评论 -
【Hive】msck repair-解决动态分区查询不到数据
0、背景在Hive的表建立了动态分区,手动复制文件或者Spark写数据到分区中,而且设置了参数但是还查询不到该分区数据。这时你应该需要执行MSCK REPAIR TABLE命令来刷新Hive的metastore数据一、作用MSCK REPAIR TABLE命令主要是用来解决通过hdfs dfs -put或者hdfs api写入hive分区表的数据在hive中无法被查询到的问题。我们知道hive有个服务叫metastore,这个服务主要是存储一些元数据信息,比如数据库名,表名或者表的分区等原创 2022-03-01 10:53:57 · 3137 阅读 · 0 评论 -
数据迁移经验原则
0、前言在某些时刻,受业务转换以及其它原因,人们会经历多次数据迁移过程,场景就是把当前数据库的数据从一个存储系统或计算机中移动到另一台。数据迁移是一项非常复杂的任务。据统计有70-90%数据迁移最终无法达到目标。一、原则1.1 数据备份在开始做数据从一个系统迁移到另一个系统之前,需要管理员确保当前数据的安全,把当前数据备份以防任何潜在的风险导致数据丢失。删库是小概率事,而磁盘损失溢出,数据并不完全可读等问题,在备份之前应检测完整,当出现问题时可以将数据恢复到原始状态。1.2 验证原创 2022-03-08 09:43:21 · 2143 阅读 · 0 评论 -
【MySQL】mysql三大日志-binlog、redo log和undo log
0、背景日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo log和undo log),本文接下来会详细介绍这三种日志。一、binlogbinlog用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog是mysql的逻辑日志,并且由Server层进...原创 2021-11-08 11:22:19 · 120 阅读 · 0 评论 -
MYSQL的自增ID
当你插入A表一条数据,插入B表的数据时需要添加对应A表中对应字段的自增值,你会怎么获取到A表的自增值呢?那下面来介绍你可能不知道MySQL里的自增值。MYSQL获取自增ID的四种方法1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与table无关的,如果向表a原创 2016-05-11 10:04:29 · 6018 阅读 · 1 评论