检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
PL/pgSQL类似于Oracle的PL/SQL,是一种可载入的过程语言。 用PL/pgSQL创建的函数可以被用在任何可以使用内建函数的地方。例如,可以创建复杂条件的计算函数并且后面用它们来定义操作符或把它们用于索引表达式。 SQL被大多数数据库用作查询语言。它是可移植的并且容易学习。但是每一个SQL语句必须由数据库服务器单独执行。
本节所附为调优表实践中使用到的SQL测试语句,推荐您将每节的SQL语句拷贝并另存为.sql文件。例如,创建一个包含“创建初始表”SQL语句的create_table_fir.sql文件。创建后使用SQL客户端工具执行.sql文件效率更高,且利于统计用例的总耗费时间。使用gsql运行.sql文件的方法如下:
GaussDB(DWS)总体开发设计规范 目的 本规范定义了在进行基于GaussDB(DWS)数据库自主开发过程中应遵守的设计、开发准则,以提升开发效率,保证业务的连续性、稳定性。 适用范围 该规范适用于所有基于GaussDDB(DWS)数据库自主开发的场景,包含应用层面的设计与开发、数据库服务层面的设计与开发。
设置结果集类型 不同类型的结果集有各自的应用场景,应用程序需要根据实际情况选择相应的结果集类型。在执行SQL语句过程中,都需要先创建相应的语句对象,而部分创建语句对象的方法提供了设置结果集类型的功能。具体的参数设置如表1所示。涉及的Connection的方法如下: 1 2 3 4
调用CallableStatement的close方法关闭调用语句。 1 cstmt.close(); 很多的数据库例如Connection、Statement和ResultSet都有close()方法,在使用完对象后应把它们关闭。要注意的是,Connection的关闭将间接关闭所有与它关联的Statem
通常可进一步提升查询性能。有关更多信息,请参阅优化查询性能概述。 基于调优表实践的具体步骤,您可以进一步应用“基于表结构设计和调优提升GaussDB(DWS)查询性能”中的优秀实践方法来改进表的分配,以达到您所期望的数据加载、存储和查询方面的效果。 清除资源 在完成本次实践之后,应删除集群。
于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB(DWS)库提供了对JDBC 4.0特性的支持,需要使用JDK1.6及以上版本编译程序代码,不支持JDBC桥接ODBC方式。JDBC开发应用程序的具体流程如下: 图1
于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。 GaussDB(DWS)库提供了对JDBC 4.0特性的支持,需要使用JDK1.6及以上版本编译程序代码,不支持JDBC桥接ODBC方式。JDBC开发应用程序的具体流程如下: 图1
jar,请替换驱动类名(将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”)与连接URL串前缀(将“jdbc:postgresql”替换为“jdbc:gaussdb”)。 //演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。
TABLE obs_from_income_band_001; 创建具有存储方式和分布方式的表。 限于篇幅,此处仅给出再次创建store_sales的语法。请从附录设计调优后第二次创建表中拷贝其他表的语法进行创建。 1 2 3 4 5 6 7 8 9 10 11 12
步骤3:调优表操作具体步骤 选择存储方式 此实践中所使用的样例表为典型的TPC-DS表,是典型的多字段表,统计分析类查询场景多,因此选择列存存储方式。 1 WITH (ORIENTATION = column) 选择压缩级别 在步骤1:创建初始表并加装样例数据中没有指定压缩比,
n”状态的ResultSet。 用于遍历结果集(ResultSet)的游标(Cursor)在被提交后不能保持“open”的状态。 java.sql.ResultSetMetaData java.sql.ResultSetMetaData是对ResultSet对象相关信息的具体描述。
n”状态的ResultSet。 用于遍历结果集(ResultSet)的游标(Cursor)在被提交后不能保持“open”的状态。 java.sql.ResultSetMetaData java.sql.ResultSetMetaData是对ResultSet对象相关信息的具体描述。
ValueType 参数的C数据类型。 ParameterType 参数的SQL数据类型。 ColumnSize 列的大小或相应参数标记的表达式。 DecimalDigits 列的十进制数字或相应参数标记的表达式。 ParameterValuePtr 指向存储参数数据缓冲区的指针。 BufferLength
jar,请替换驱动类名(将代码中的“org.postgresql”替换成“com.huawei.gauss200.jdbc”)与连接URL串前缀(将“jdbc:postgresql”替换为“jdbc:gaussdb”)。 //演示基于JDBC开发的主要步骤,会涉及创建数据库、创建表、插入数据等。
ValueType 参数的C数据类型。 ParameterType 参数的SQL数据类型。 ColumnSize 列的大小或相应参数标记的表达式。 DecimalDigits 列的十进制数字或相应参数标记的表达式。 ParameterValuePtr 指向存储参数数据缓冲区的指针。 BufferLength
Driver”(对应gsjdbc200.jar)。 由于GaussDB(DWS)在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC的驱动的时候,可能会类名冲突。 父主题: 基于JDBC开发
Driver”(对应gsjdbc200.jar)。 由于GaussDB(DWS)在JDBC的使用上与PG的使用方法保持兼容,所以同时在同一进程内使用两个JDBC的驱动的时候,可能会类名冲突。 父主题: 基于JDBC开发
采用默认安全设计,默认禁止MD5算法的密码校验,而PostgreSQL的开源libpq通信协议恰恰使用的是MD5算法。所以需要调整密码算法参数password_encryption_type,打开MD5算法。 修改密码的原因:GaussDB(DWS) 中是不会存储您的密码原文的,而是存储的密码HASH摘
采用默认安全设计,默认禁止MD5算法的密码校验,而PostgreSQL的开源libpq通信协议恰好使用的是MD5算法。所以需要调整一下密码算法参数password_encryption_type,打开MD5算法。 修改密码的原因:GaussDB(DWS) 中是不会存储您的密码原文的,而是存储的密码HASH