返回首页

gbase数据、南大通用产品文档:GBase8sSQL 语句高速缓存

更新日期:2024年09月11日

SQL 语句高速缓存是一个特性,允许您将反复地执行的同一 SQL 语句存储在缓冲区中,
以便在不同的用户中可重用这些语句,而不需要每个会话都分配内存。对于包含大量准备
好的语句的应用程序,语句高速缓存可显著地提高性能。然而,当使用语句高速缓存来高
速缓存那些一次准备多次执行的语句时,性能的提升就不太显著。
当为数据库服务器启用语句高速缓存时,请使用 SQL 为个别的数据库服务器打开或关闭
语句高速缓存。下列语句展示如何使用 SQL 为当前的数据库会话打开高速缓存:
SET STATEMENT CACHE ON
下列语句展示如何使用 SQL 为当前的数据库会话关闭高速缓存:
SET STATEMENT CACHE OFF
当禁用高速缓存时,如果您尝试关闭或打开语句高速缓存,则数据库服务器返回错误。
要了解关于 SET STATEMENT CACHE 语句的语法的信息,
请参阅
《GBase 8s SQL 指南:
语法》。要了解关于 STMT_CACHE 和 STMT_CACHE_SIZE 配置参数的信息,请参阅
《GBase 8s 管理员参考手册》
和您的
《GBase 8s 性能指南》

要获取关于 STMT_CACHE 环
境变量的信息,请参阅《GBase 8s SQL 参考指南》。

系统信息查看包括会话状态、全局状态、会话变量、全局变量、用户权限等信
息查看,左侧树结构如下图所示:

GBaseDataStudio 管理工具手册
南大通用数据技术股份有限公司
- 99 -
图5- 436 系统信息查看左侧树

连接不一定总是涉及两个不同的表,可以将表连接至它本身,创建自连接。当想要将列中
的值与同一列中的其他值进行比较时,将表连接至它本身非常有用。
要创建自连接,在 FROM 子句中列出表两次,并且每次为它指定不同的别名。使用别名
在 Projection 和 WHERE 子句中引用表。如同是两个独立的表一样。(SELECT 语句中
的别名在别名和 GBase 8s SQL 指南:语法中讨论。)
与表之间的连接一样,
可以在自连接中使用算术表达式,
可以测试空值。
可以使用 ORDER
BY 子句来以升序或降序对指定列中的值进行排序。
下列查询查询 ship_weight 相差五倍或更多并且 ship_date 不为空的订单。接着,查询按
照 ship_date 对数据进行排序。
图: 查询
SELECT x.order_num, x.ship_weight, x.ship_date,
y.order_num, y.ship_weight, y.ship_date
FROM orders x, orders y
WHERE x.ship_weight >= 5 * y.ship_weight
AND x.ship_date IS NOT NULL
AND y.ship_date IS NOT NULL
ORDER BY x.ship_date;
表 1. 查询结果
order_num
ship_weight
ship_date
order_num
ship_weight
ship_date
1004