- 博客(5)
- 收藏
- 关注
原创 为什么不建议使用SELECT *?
作为一名数据开发初学者,在日常工作中,我总是喜欢使用SELECT *查询数据。查询多个表时,使用SELECT * 会使代码目的不明确,不易理解。同时,返回所有列,可能也会泄露如手机号,密码和身份证等敏感信息。使用SELECT * 语句时,数据库会返回表中所有列,这会增加网络带宽的消耗,内存的使用量以及更多的磁盘I/O操作,进而导致性能下降。因此,在日常使用时,我们应该明确需要查询的列,减少不必要的数据传输。当然,目前我对此的认知还比较浅薄,随着后续学习工作的深入,我会及时补充其他原因。
2024-08-25 23:01:34
286
原创 聚合函数COUNT()用法解析
从执行结果上看,COUNT(*)和COUNT(1)效果相同,然而在执行时,前者不需要访问表的具体列数据来计算行数,因此可更快执行。而后者也计算所有行,但它实际上是对一个常量表达式进行计数。COUNT(字段)肯定是最慢的,因为它需要检查每一行的指定列是否为NULL。COUNT(字段)则用来计算指定列中非NULL值的数量,即如果某一行中的指定列是NULL,那这一行不会被计数。COUNT(*)用来计算表中所有行的数量,包括那些包含NULL值的行。COUNT(1)也用于计算所有行的数量,它也不会忽略任何行。
2024-08-25 22:25:00
261
原创 MaxCompute/ODPS-0130252错误解决方案
默认情况下,MaxCompute会禁用笛卡尔积,因此当两个表进行JOIN的时候,如果没有指定JOIN的条件,则会退化为两个表之间进行笛卡尔积计算,导致出现ODPS-0130252错误。1.当其中JOIN的一张表是小表时,我们可以设置SET odps.sql.allow.cartesian = TRUE;3.当JOIN的表都是大表时,使用上述方案会发生数据膨胀。因此,我们可以往SELECT中增加字段来解决问题。2.此外,我们还可以使用MAPJOIN,在MAP阶段将指定表的数据全部加载在内存中。
2024-08-18 18:42:58
199
原创 Hive Joins笔记
Hive中的Join(连接)是数据分析工作中常用的工具,其将来自不同表的数据汇集在一起,从而产生有价值的见解。如果左表中的行在右表中存在匹配项,则该行会被包含在结果集中。如果左表中的行在右表中存在匹配项,则该行不会出现在结果集中。INNER JOIN返回两个表中具有匹配值的行。RIGHT JOIN返回右表的所有行以及左表中匹配的行。如果左表中没有与右表匹配的行,则左表的列将显示为NULL。LEFT JOIN返回左表的所有行以及右表中匹配的行。如果右表中没有与左表匹配的行,则右表的列将显示为NULL。
2024-08-11 21:12:10
291
原创 Remote Sensing Letters 投稿经历
(2024/06/23 我将decision letter、response letter和manuscript合并作为附件,发了一封邮件询问编辑具体情况,结果发现是误会。我大修的审稿意见被删除了,编辑误将给我大修意见之后其他审稿专家返回的审稿意见当作我的审稿意见了。整个投稿周期较长,但编辑与审稿专家均比较负责。(2024/02/20 由于稿件状态长时间不变,我发了一封邮件询问编辑稿件情况,编辑第二天回复说他们仍在寻找第二位审稿专家。2024/07/21 Minor Revision (格式问题)
2024-08-04 19:36:43
387
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人