PrestoSQL语法及优化

PrestoSQL语法及优化

    • 1、PrestoSQL概述
    • 2、PrestoSQL语法
      • 2.1、PrestoSQL数据类型
      • 2.2、关键字和标识符
      • 2.3、PrestoSQL注释
      • 2.4、PrestoSQL语法
      • 2.5、PrestoSQL例程
      • 2.6、PrestoSQL使用常见问题
    • 3、PrestoSQL优化
      • 3.1、存储优化
      • 3.2、查询优化
      • 3.3、多数据源联合查询


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类型,对字符串进行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/217186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无线充电Qi通信协议分析

1 工作原理 无线充电通信采用的是backscatter调制方式,简单来说就是一种负载调制方式,类似于RFID的原理。并且无线充电过程主要是有Power Receiver(一般指手机)控制,而Power Transmitter(充电板&#xff09…

力扣139. 单词拆分

动态规划 思路: 假设 dp[i] 为单词前 i 个字符能否被拆分的结果;假设最近的一个单词分割点 j,如果 dp[i] 能够被拆分,则 dp[j] 能被拆分,并且 s[j, i - 1] 在字典中;即状态转移方程: dp[i] dp…

js 有关递归简单介绍

递归:指调用自身的函数 重点:递归函数必须有可以终止递归调用的语句,否则会导致内存溢出 递归的性能不好,因为在递归终止前,JavaScript引擎会为每一次递归分配一块内存以存储栈帧,随着递归的深入&#xff…

基于双树复小波变换和稀疏表示的多光谱和彩色图像融合算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 双树复小波变换原理 4.2 稀疏表示原理 4.3 基于双树复小波变换和稀疏表示的图像融合算法 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序…

Redis 主从复制源码分析

前置学习:Redis server启动源码-CSDN博客

react hooks之useRef和useImperativeHandle

为什么这两个一起写,是因为这两个关联性很大,逐一介绍。 一:useRef 1、作用:用于在函数组件中创建一个持久化的引用变量。这个引用变量可以在组件的多次渲染之间保持不变,并且可以访问和修改 DOM 元素或其他组件实例…

C++学习笔记(十四)

一、运算符重载 运算符重载概念&#xff1a;对已有的运算符重新进行定义&#xff0c;赋予其另一种功能&#xff0c;以适应不同的数据类型 1.1 加号运算符重载 作用&#xff1a;实现两个自定义数据类型相加的运算 #include <iostream>using namespace std;class Per…

补充回答一些关于枚举类型的问题

补充回答一些关于枚举类型的问题 1.枚举类型在什么时候使用 枚举类型在以下情况下特别有用&#xff1a; 有限的离散值集合&#xff1a; 当变量的取值只有有限且离散的几个选项时&#xff0c;使用枚举类型能够提高代码的可读性。例如&#xff0c;星期几、月份、颜色等。 enum W…

讲解一手CSRF,如何防御CSRF

简介&#xff1a; CSRF&#xff08;Cross-Site Request Forgery&#xff0c;跨站请求伪造&#xff09;是一种网络安全漏洞&#xff0c;它允许攻击者通过欺骗用户在当前已登录的Web应用程序上执行未经用户授权的操作。 攻击者利用用户在目标网站上已经建立的身份认证&#xff…

Vue2面试题:说一下vue2的生命周期?

创建&#xff1a; beforecreate: 实例创建前 此阶段的data、methods、computed、watch的数据和方法不能被访问 created: 实例创建完成后 此阶段完成数据监听&#xff0c;可以使用数据、更改数据。无法与Dom进行交互&#xff0c;想要的话可以通过nextTick来访问。 挂载&#xff…

Vue 双向绑定:让数据与视图互动的魔法!(上)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

大数据监控

HBase 监控 {name“RegionServer”,sub“Server”,} irate(hadoop_hbase_totalrequestcount[5m]) irate(hadoop_hbase_totalrequestcount{instanceName“hacluster4”}[2m]) https://blog.csdn.net/Samooyou/article/details/129275640 https://www.tencentcloud.com/zh/doc…

【python笔记】requests模块基础总结

前言 菜某笔记总结&#xff0c;如有错误请指正。 requests用途 主要是用于发送网络请求 Requests库的主要方法和属性 rrequests.get() Response Request 对象 对象 r.cookies #打印cookie r.content #常用于图像视频等 以上内容来自2_哔哩哔哩_bilibili 发…

OpenCV中vector<Mat>数据存储问题

问题&#xff1a;定义数组Mat后&#xff0c;通过指针/取元素对Mat数组数据进行修改&#xff0c;会遇到深浅拷贝问题。 原因是&#xff1a;push_back调用的是Mat的浅拷贝函数来拷贝数据&#xff0c;数据共享。 一、浅拷贝 //注意&#xff1a;浅拷贝 - 不复制数据只创建矩阵头&…

【Netty的线程模型】

Netty的线程模型 Netty的线程模型知识拓展单Reactor单线程模型单Reactor多线程模型主从Reactor模型 Netty的线程模型 Netty通过Reactor模型基于多路复用器接收并处理用户请求的&#xff0c;多路复用IO模型参考&#xff1a; 多路复用IO模型: 操作系统的IO模型有哪些&#xff1f…

WindowChrome使用之最大化窗口拖动失败

背景&#xff1a;今天遇到一个奇怪的问题&#xff0c;窗口最大化之后&#xff0c;从屏幕外开始手指移动到窗口标题栏&#xff0c;窗口不跟随手指移动。 对WindowChrome并不是很了解&#xff0c;查了查文档&#xff0c;知道了WindowChrome是什么&#xff0c;怎么使用。 官方文档…

短剧规模达到了百亿元,短剧分销成为短剧新模式

我国短剧市场规模直接突破了三百多亿元&#xff0c;目前已经是互联网的一大创业风口&#xff01; 一、短剧特点 在当下快节奏的生活中&#xff0c;短剧具有的快节奏、剧情紧凑的特点&#xff0c;符合大众对影视的需求。目前我国的短剧题材主要是言情、总裁、赘婿等&#xff0…

Jmeter 测试 MQ 接口怎么做?跟我学秒变大神!

MQ(message queue)消息队列&#xff0c;是基础数据结构 先进先出 的一种典型数据结构。一般用来解决应用解耦&#xff0c;异步消息&#xff0c;流量削锋等问题&#xff0c;实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构。 MQ 主要产品包括&#xff1a;Rabb…

基于ssm汽车养护管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本汽车养护管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息…

WEB渗透—PHP反序列化(一)

Web渗透—PHP反序列化 课程学习分享&#xff08;课程非本人制作&#xff0c;仅提供学习分享&#xff09; 靶场下载地址&#xff1a;GitHub - mcc0624/php_ser_Class: php反序列化靶场课程&#xff0c;基于课程制作的靶场 课程地址&#xff1a;PHP反序列化漏洞学习_哔哩…