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);
相关推荐
液态不合群1 天前
【面试题】MySQL 三层 B+ 树能存多少数据?
java·数据库·mysql
龙亘川1 天前
【课程5.1】城管住建核心功能需求分析:市政设施、市容秩序等场景痛点拆解
数据库·oracle·智慧城市·城管住建
飞鸟真人1 天前
Redis面试常见问题详解
数据库·redis·面试
cg50171 天前
力扣数据库——组合两个表
sql·算法·leetcode
fanruitian1 天前
Springboot项目父子工程
java·数据库·spring boot
super_lzb1 天前
mybatis拦截器ParameterHandler详解
java·数据库·spring boot·spring·mybatis
CV工程师的自我修养1 天前
数据库出现死锁了。还不知道什么原因引起的?快来看看吧!
数据库
码界奇点1 天前
灵活性与高性能兼得KingbaseES 对 JSON 数据的全面支持深度解析
数据库·json·es
2501_941871451 天前
面向微服务链路追踪与全局上下文管理的互联网系统可观测性设计与多语言工程实践分享
大数据·数据库·python
·云扬·1 天前
MySQL单机多实例部署两种实用方法详解
数据库·mysql·adb