PolarDB-X 1.0-SQL 手册-Prepare SQL-Prepare 协议使用说明

简介: Prepare 协议介绍PolarDB-X提供对服务器端预处理语句的支持,支持利用高效的客户端/服务器二进制协议。使用准备好的语句和占位符来获取参数值具有以下好处:每次执行时解析语句的开销都较小。通常情况下,数据库应用程序处理大量几乎相同的语句,只改变 Prepare 语句中的变量值,这样可以大幅度提升 SQL 执行效率。防止 SQL 注入攻击。

Prepare 协议介绍

PolarDB-X提供对服务器端预处理语句的支持,支持利用高效的客户端/服务器二进制协议。使用准备好的语句和占位符来获取参数值具有以下好处:

  • 每次执行时解析语句的开销都较小。通常情况下,数据库应用程序处理大量几乎相同的语句,只改变 Prepare 语句中的变量值,这样可以大幅度提升 SQL 执行效率。
  • 防止 SQL 注入攻击。

协议详细说明

  • Prepare 协议支持范围
  • Prepare 协议目前支持:
  • 即 Prepare 协议支持使用 JDBC 及其他各种语言使用
  • MySQL支持范围参见Prepared Statements
  • Prepare 协议 SQL 支持范围
  • 支持所有 DML 语句,例如:SELECT、UPDATE、DELETE、INSERT 等
  • Prepare 协议 SQL 不支持范围
  • 不支持 DML 以外其他 SQL 语句,例如: SHOW、SET 等
  • Prepare 协议不支持在 MySQL 命令行使用
  • 如:以下方法不支持
  1.   mysql> SET @s='SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
  2.   mysql> PREPARE stmt2 FROM @s;
  3.   mysql> SET @a=6;
  4.   mysql> SET @b=8;
  5.   mysql> EXECUTE stmt2 USING @a,@b;

在Java中开启 Prepare 协议

  • 在Java客户端中,如果需要使用 Prepare 协议,需要强行在 URL 连接串中增加 useServerPrepStmts=true 参数,如果不指定此参数,则 PreparedStatement 默认会走普通查询
  • 如:jdbc:mysql://xxxxxx:3306/xxxxxx?useServerPrepStmts=true

Java 使用示例:


  1. Class.forName("com.mysql.jdbc.Driver");
  2. Connection connection =  DriverManager.getConnection("jdbc:mysql://xxxxxx:3306/xxxxxx?useServerPrepStmts=true","xxxxx","xxxxx");
  3. String sql ="insert into batch values(?,?)";
  4. PreparedStatement preparedStatement = connection.prepareStatement(sql);
  5. preparedStatement.setInt(1,0);
  6. preparedStatement.setString(2,"corona-db");
  7. preparedStatement.executeUpdate();
相关文章
|
7月前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
587 3
|
11月前
|
SQL 存储 关系型数据库
第二篇:关系型数据库的核心概念与 SQL 基础
本篇内容深入浅出地讲解了关系型数据库的核心概念与SQL基础,适合有一定计算机基础的学习者。文章涵盖数据库的基本操作(CRUD)、数据类型、表的创建与管理等内容,并通过实例解析SELECT、INSERT、UPDATE、DELETE等语句的用法。此外,还推荐了多种学习资源与实践建议,帮助读者巩固知识。学完后,你将掌握基础数据库操作,为后续高级学习铺平道路。
680 1
|
7月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
Cloud Native 关系型数据库 分布式数据库
让PolarDB更了解您--PolarDB云原生数据库核心功能体验馆
让PolarDB更了解您——PolarDB云原生数据库核心功能体验馆,由阿里云数据库产品事业部负责人宋震分享。内容涵盖PolarDB技术布局、开源进展及体验馆三大部分。技术布局包括云计算加速数据库演进、数据处理需求带来的变革、软硬协同优化等;开源部分介绍了兼容MySQL和PostgreSQL的两款产品;体验馆则通过实际操作让用户直观感受Serverless、无感切换、SQL2Map等功能。
495 7
|
11月前
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
511 4
|
11月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
809 17
|
SQL 存储 关系型数据库
关系型数据库SQLserver基本 SQL 操作
【7月更文挑战第28天】
257 4
|
SQL 关系型数据库 分布式数据库
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
405 14
|
运维 关系型数据库 分布式数据库
阿里云PolarDB:引领云原生数据库创新发展
阿里云PolarDB引领云原生数据库创新,2024云栖大会将分享其最新发展及在游戏行业的应用。PolarDB凭借弹性、高可用性、多写技术等优势,支持全球80多个站点,服务1万多家企业。特别是针对游戏行业,PolarDB助力Funplus等公司实现高效运维、成本优化和业务扩展。通过云原生能力,PolarDB推动游戏业务的全球化部署与快速响应,提升用户体验并保障数据安全。未来,PolarDB将继续探索AI、多云管理等前沿技术,为用户提供更智能的数据基础设施。
668 2
|
存储 关系型数据库 分布式数据库
揭秘PolarDB:中国云原生数据库的超级英雄,如何颠覆传统数据存储?
在数字化时代,数据成为企业的核心资产,而云原生数据库则是推动企业转型的关键。PolarDB凭借其先进的存储计算分离架构,在性能、可靠性和易用性方面脱颖而出,成为国内领先的选择。它支持多种数据库引擎,提供多副本存储机制,并采用按量付费模式,有效降低管理和成本压力,助力企业实现高效、可靠的数字化转型。
312 1

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X