SQL之LIMIT子句踩坑记录

部分场景下,我们可能希望从一个大表 unparsed 中抽取前100行并对这些行应用UDF,一种容易想到的SQL语句如下:

sql 复制代码
@pyspark
insert into table parsed
select url, parse_func(content) as parsed_content from unparsed
limit 100;

但这个语句实际上会对 unparsed 中的所有行先应用UDF然后再抽取前100行,不符合我们的期望,为此可以作出如下修改

sql 复制代码
@pyspark
insert into table parsed
select url, parse_func(content) as parsed_content
from (
    select url, content from unparsed
    limit 100
);

注意,以下这种语句是无效的,速度并不会有任何改变:

sql 复制代码
@pyspark
insert into table parsed
(select url, parse_func(content) as parsed_content from unparsed limit 100);
相关推荐
cmes_love1 天前
期货五档Level2行情数据和分钟历史行情数据下载分析
数据库
某不知名網友1 天前
MySQL数据库库级操作|创建、字符集、修改删除、备份恢复
数据库·mysql
zone_z1 天前
Oracle 数据库基础故障排查系列(12 篇)
数据库·oracle·dba·troubleshooting·blog-series
DBA_G1 天前
GBase 8a数据库RANGE分区操作详细解读
数据库·oracle
三言老师1 天前
K8s 集群 Ceph 节点磁盘分区规划配置实操
linux·运维·数据库
某不知名網友1 天前
MySQL数据表详解|创建、查看、修改、删除实战教程
数据库·mysql
Wang's Blog1 天前
PostgreSQL笔记20: 实例、集群、模板数据库与表空间 —— 逻辑体系架构深度解析
数据库·笔记·postgresql
杨运交1 天前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
FungLeo1 天前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
抓蛙师1 天前
多租户 tenant_id SQL 注入漏洞分析与应急响应报告
数据库·sql