检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
=或<>操作符、null值判断、or连接、参数隐式转换。 对复杂SQL语句进行拆分。 对于过于复杂并且不易通过以上方法调整性能的SQL可以考虑拆分的方法,把SQL中某一部分拆分成独立的SQL并把执行结果存入临时表,拆分常见的场景包括但不限于: 作业中多个SQL有同样的子查询,并且子查询数据量较大。 Plan
执行SQL语句 通过连接对象,使用PQexec函数执行SQL查询语句。可以执行各种类型的SQL查询,例如SELECT查询、插入数据、更新数据、删除数据等。但如果同时执行多个SQL语句作为一个事务,应该使用事务控制功能,例如执行BEGIN、COMMIT、ROLLBACK 等SQL语句
GLOBAL_SQL_PATCH GLOBAL_SQL_PATCH视图显示所有SQL PATCH的信息,该视图仅在PG_CATALOG模式下存在。 表1 GLOBAL_SQL_PATCH字段 名称 类型 描述 node_name text SQL PATCH所在节点的名称。 patch_name
supportsMinimumSQLGrammar() boolean Yes supportsCoreSQLGrammar() boolean Yes supportsExtendedSQLGrammar() boolean Yes supportsANSI92EntryLevelSQL() boolean
类型 描述 sql_namespace oid schema oid。 sql_hash bigint SPM中SQL的唯一标识。 sql_text text SQL的文本串。 param_num integer SQL执行所需参数的数量。 user oid 登录用户的oid。 creation_time
sql.Open接口 sql.Open接口如下表所示。 方法 描述 返回值 Open(driverName, dataSourceName string) 根据给定的数据库驱动以及驱动专属的数据源来打开一个数据库 *DB, error 参数driverName和dataSourceName详解参见连接数据库。
DBE_SQL_UTIL.create_remote_hint_sql_patch create_remote_hint_sql_patch是用于指定CN创建调优SQL PATCH的接口函数,返回执行是否成功。 限制仅初始用户、sysadmin、opradmin、monadmin用户有权限调用。
sql.Open接口 sql.Open接口如下表所示。 方法 描述 返回值 Open(driverName, dataSourceName string) 根据给定的数据库驱动以及驱动专属的数据源来打开一个数据库。 *DB, error 参数driverName和dataSourceName详解请参见连接数据库。
保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,其
FULL语句不支持在线执行。 在线VACUUM FULL不支持在事务内执行,不支持在存储过程中执行。 若在线VACUUM FULL操作失败,表上可能会有明显存储空间膨胀。其中膨胀程度与在线VACUUM FULL执行时长以及并发写操作量成正比。长事务可能会阻塞在线VACUUM FU
支持,存在差异 返回值与MySQL有差异,GaussDB返回的是numeric,MySQL返回的是int。 UTC_DATE() 支持,存在差异 MySQL支持无括号调用,GaussDB不支持。MySQL入参整型值会按照一字节最大值255整数回绕。 MySQL入参只支持0-6整数,
FULL语句不支持在线执行。 在线VACUUM FULL不支持在事务内执行,不支持在存储过程中执行。 若在线VACUUM FULL操作失败,表上可能会有明显存储空间膨胀。其中膨胀程度与在线VACUUM FULL执行时长以及并发写操作量成正比。长事务可能会阻塞在线VACUUM FU
CN之间SQL PATCH不共享,要在各个CN上单独创建。 开启负载均衡场景或者需要指定创建的CN的场景,推荐使用DBE_SQL_UTIL.create_remote_hint_sql_patch接口进行创建。 表1 DBE_SQL_UTIL.create_hint_sql_patch入参和返回值列表
SESSION_SQL_MEMORY SESSION_SQL_MEMORY视图显示当前用户在当前节点上正在执行的语句的内存使用量,如表1所示。 表1 SESSION_SQL_MEMORY字段 名称 类型 描述 pid bigint 线程ID。 sessionid bigint 会话ID。
使用gsql连接 gsql是GaussDB提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何使用gsql连接数据库,关于gsql使用方法的更多信息请参考《工具参考》中“客户端工具 > gsql”章节。 注意事项
java.sql.Statement java.sql.Statement是SQL语句接口。 表1 对java.sql.Statement的支持情况 方法名 返回值类型 支持JDBC4 支持计划外ALT addBatch(String sql) void Yes Yes clearBatch()
java.sql.Statement java.sql.Statement是SQL语句接口。 表1 对java.sql.Statement的支持情况 方法名 返回值类型 支持JDBC 4 addBatch(String sql) void Yes clearBatch() void
DBE_SQL_UTIL.create_hint_sql_patch create_hint_sql_patch是用于创建调优SQL PATCH的接口函数,返回执行是否成功。本函数是原函数的重载函数,支持通过parent_unique_sql_id值限制hint patch的生效范围。
DBE_SQL_UTIL.create_abort_sql_patch create_abort_sql_patch是用于创建避险SQL PATCH的接口函数,返回执行是否成功。本函数是原函数的重载函数,支持通过parent_unique_sql_id值限制abort patch的生效范围。
java.sql.DatabaseMetaData java.sql.DatabaseMetaData是数据库对象定义接口。 表1 对java.sql.DatabaseMetaData的支持情况 方法名 返回值类型 支持JDBC4 支持计划外ALT allProceduresAreCallable()