PrestoSQL语法及优化

2023-12-13 04:07:24



1、PrestoSQL概述


2020年12月27日,PrestoSQL为了更好的与Facebook的Presto进行区分而改名为Trino。PrestoSQL/Trino是一种分布式SQL查询引擎,旨在查询分布在一个或多个异构数据源上的大型数据集

PrestoSQL官网:https://trino.io

PrestoSQL官方文档:https://trino.io/docs/current/overview.html

更多关于Presto的介绍详见文章:传送门

PrestoSQL/Trino是一个符合ANSI SQL的查询引擎。这种标准合规性允许PrestoSQL用户将他们喜欢的数据工具(包括BI和ETL工具)与任何底层数据源集成

PrestoSQL验证接收到的SQL语句并将其转换为对连接的数据源进行必要的操作。本文主要介绍PrestoSQL支持的SQL数据类型和SQL支持的其他一般特征,以及PrestoSQL的优化

2、PrestoSQL语法

2.1、PrestoSQL数据类型


PrestoSQL数据类型详见官网:https://trino.io/docs/current/language/types.html#

2.2、关键字和标识符


PrestoSQL关键字和标识符详见官网:https://trino.io/docs/current/language/reserved.html

2.3、PrestoSQL注释


PrestoSQL注释详见官网:https://trino.io/docs/current/language/comments.html#

2.4、PrestoSQL语法


PrestoSQL语法详见官网:https://trino.io/docs/current/sql.html#

2.5、PrestoSQL例程


PrestoSQL例程详见官网:https://trino.io/docs/current/routines.html#

2.6、PrestoSQL使用常见问题


1)字段名引用

避免字段名与关键字冲突:MySQL对于关键字冲突的字段名加反引号,Presto对与关键字冲突的字段名加双引号。当然,如果字段名不与关键字冲突,则可以不加双引号

2)时间函数

对于timestamp,需要进行比较的时候,需要添加timestamp 关键字,而MySQL中对timestamp可以直接进行比较

-- MySQL写法
SELECT t FROM a WHERE t > '2023-12-01 00:00:00'; 
-- Presto写法
SELECT t FROM a WHERE t > timestamp '2023-12-01 00:00:00';

3)MD5函数的使用

Presto中MD5函数传入的是binary类型,返回的也是binary类型,对字符串进行

文章来源:https://blog.csdn.net/weixin_55629186/article/details/134960183
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。