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);
相关推荐
心之伊始27 分钟前
Redis 持久化机制深度解析(RDB / AOF / 混合持久化)
数据库·redis·bootstrap
马猴烧酒.28 分钟前
【JAVA数据传输】Java 数据传输与转换详解笔记
java·数据库·笔记·tomcat·mybatis
Hgfdsaqwr1 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
ruxshui1 小时前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql
OceanBase数据库官方博客1 小时前
客户案例|美的以OceanBase为基构建云中立数字化基座破局多云孤岛
数据库·oceanbase·分布式数据库
Mr_Xuhhh1 小时前
MySQL数据表操作全解析:从创建到管理
数据库·sql·oracle
大模型玩家七七1 小时前
向量数据库实战:从“看起来能用”到“真的能用”,中间隔着一堆坑
数据库·人工智能·python·深度学习·ai·oracle
OceanBase数据库官方博客1 小时前
基于分层协作多智能体的数据库参数调优——OceanBase 校企研究
数据库·oceanbase·分布式数据库
2301_763472461 小时前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
爱学习的阿磊1 小时前
Web开发与API
jvm·数据库·python