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);
相关推荐
Amarantine、沐风倩✨35 分钟前
列表接口严禁嵌套 LISTAGG + REGEXP:一次 mission_label 性能事故复盘
java·数据库·sql
好好研究43 分钟前
MyBatis - Plus(二)常见注解 + 常见配置
数据库·spring boot·mybatis·mybatis plus
PD我是你的真爱粉1 小时前
MySQL基础-DQL语句与多表查询
数据库·mysql
C#程序员一枚1 小时前
SqlServer如何创建全文索引
数据库·sqlserver
DBA小马哥1 小时前
时序数据库迁移实践指南:面向业务连续性的技术演进路径
数据库·时序数据库·dba
生命因何探索2 小时前
Redis-持久化
数据库·redis·缓存
yjb.gz2 小时前
Shell实现数据库巡检
数据库
福大大架构师每日一题2 小时前
redis 8.4.1 正式发布:安全升级、性能强化与多模块重大修复详解
数据库·redis·安全
魑-魅-魍-魉3 小时前
金仓数据库(KingbaseES)Windows 安装避坑指南:从 Connection Refused 到服务启动的完整实战记录
数据库·金仓
chlk1234 小时前
聊聊索引:为何 B + 树能撑起数据库的半壁江山?
数据库·mysql