`
javathinker
  • 浏览: 235457 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

SQL 语句 最大长度限制 DB2如何修改最大长度限制

 
阅读更多

home/datamart$db2getdbcfg|grepHEAP
Sortheapthresforsharedsorts(4KB)(SHEAPTHRES_SHR)=AUTOMATIC
Sortlistheap(4KB)(SORTHEAP)=AUTOMATIC
Databaseheap(4KB)(DBHEAP)=AUTOMATIC
Utilitiesheapsize(4KB)(UTIL_HEAP_SZ)=103816
SQLstatementheap(4KB)(STMTHEAP)=AUTOMATIC
Defaultapplicationheap(4KB)(APPLHEAPSZ)=AUTOMATIC
Statisticsheapsize(4KB)(STAT_HEAP_SZ)=AUTOMATIC


修改STMTHEAP


P570_B_2:/DATAMART/usr/datamart >db2 update db cfg for datamart using STMTHEAP 20480 AUTOMATIC
DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

P570_B_2:/DATAMART/usr/datamart >db2stop force
10/19/2012 10:56:14 0 0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
P570_B_2:/DATAMART/usr/datamart >db2start
10/19/2012 10:56:20 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.



P570_B_2:/DATAMART/usr/datamart >db2 get db cfg |grep STMT
SQL statement heap (4KB) (STMTHEAP) = AUTOMATIC(20480)
Automatic statement statistics (AUTO_STMT_STATS) = OFF




DB2 V9.5 for Linux, UNIX, and Windows

stmtheap- 语句堆大小配置参数

此参数指定语句堆的大小,语句堆在编译 SQL 或 XQuery 语句期间用作 SQL 或 XQuery 编译器的工作空间。

配置类型
数据库
参数类型
可联机配置
传播类
语句边界
缺省值 [范围]
对于 32 位平台
AUTOMATIC [128 - 524288]
  • 带有本地客户机和远程客户机的数据库服务器:缺省值为AUTOMATIC(底层值为2048)。
  • 还可将该参数仅设置为某个固定值。
对于 64 位平台
AUTOMATIC [128 - 524288]
  • 带有本地客户机和远程客户机的数据库服务器:缺省值为AUTOMATIC(底层值为8192)。
  • 还可将该参数仅设置为某个固定值。
注:在初始创建数据库后,缺省值将由 DB2® 配置顾问程序进行更改。
计量单位
页 (4 KB)
分配时间
对于预编译或绑定期间的每个语句
释放时间
当每个语句的预编译或绑定完成时

此区域并不总是处于分配状态,但要对每个处理的 SQL 或 XQuery 语句进行分配和释放。注意:对于动态 SQL 或 XQuery 语句,将在程序执行期间使用此工作区; 而对于静态 SQL 或 XQuery 语句,在绑定进程而不是在程序执行期间使用此工作区。

可使用底层值或固定值将STMTHEAP参数设置为AUTOMATIC。该参数设置为AUTOMATIC时,底层值会对使用动态连接枚举为单个编译分配的内存量加以限制。如果遇到内存限制,语句编译会使用贪婪连接枚举和不受限制的语句堆重新启动。其仅受到剩余应用程序内存量 (APPL_MEMORY)、实例内存 (INSTANCE_MEMORY) 或系统内存的限制。如果贪婪连接枚举成功完成,那么将向应用程序返回一个 SQL0437W 警告。如果贪婪连接枚举也遇到内存限制,那么语句预编译失败,且带有 SQL0101N。

例如,db2 update db cfg for SAMPLE usingSTMTHEAP8192 AUTOMATIC将为动态连接枚举设置 8192 *4K (32MB) 的语句堆限制并对贪婪连接枚举不设限制。

STMTHEAP参数设置为固定值时,该限制同时适用于动态和贪婪连接枚举。如果动态连接枚举遇到内存限制,那么将使用同一固定语句堆限制来尝试贪婪连接枚举。在 AUTOMATIC 情况下,类似的警告/错误也适用。

例如,db2 update db cfg for SAMPLE usingSTMTHEAP8192将同时为动态和贪婪连接枚举生成 8192 * 4K (32MB) 的语句堆限制。

如果在运行时的查询性能不够高,请考虑增大stmtheap配置参数值(底层为AUTOMATIC的值或固定值),从而确保动态编程连接枚举能够成功。如果您更新stmtheap配置参数以提高查询性能,那么会导致重新编译语句,以便查询优化器可以创建新的访问方案来利用已更改数量的语句堆。

注:仅在优化类 3 和更高级别(缺省值为 5)进行动态编程联合枚举。



分享到:
评论

相关推荐

    db2数据库sql语句大全

    此SQL语句创建一个包含两列的新表:`column1`为整数类型且不允许为空,`column2`为可变长度字符串类型,最大长度为30个字符。 #### 5. 添加主键约束 ```sql altertable<> addprimarykey("column1"); ``` 该语句向...

    DB2数据库SQL注入语句

    本文将深入探讨DB2数据库中的SQL注入语句,以及如何通过这些语句来猜解数据库结构和数据。 首先,SQL注入的基础原理是通过在合法的SQL查询语句中嵌入恶意代码,以改变原本的查询逻辑。在给定的示例中,攻击者试图猜...

    SQL_Server,Oracle,DB2数据库SQL语句比较

    标题与描述均聚焦于SQL Server, Oracle, 和DB2数据库中的SQL语句比较,这是一个对IT专业人士特别是数据库管理员(DBA)、开发人员以及对数据库技术感兴趣的人来说极为实用的主题。以下是对给定文件中提及的关键知识点...

    db2数据的一些限制

    - **SQL 语句的最大长度:** 一个 SQL 语句的最大长度不超过 65535 字节。 - **选择列表中最大的元素个数:** 一个选择列表中最大的元素个数不超过 1012。 - **WHERE 或 HAVING 子句中最多的谓词个数:** 一个 WHERE 或...

    SQL语句大全文本

    ### SQL语句大全文本知识点解析 #### 一、数据库操作 **1. 创建数据库** ```sql CREATE DATABASE database-name; ``` 此命令用于创建一个新的数据库。`database-name`是新数据库的名字。 **2. 删除数据库** ```sql...

    经典SQL语句大全

    DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明...

    SQL语句大全详细宝典

    - 在某些数据库系统中,如DB2,一旦列被添加,其数据类型无法改变,但varchar类型的长度可以增加。 8. **处理主键**: - `ALTER TABLE tabname ADD PRIMARY KEY (col)`添加主键约束。 - `ALTER TABLE tabname ...

    SQL 语句大全 SQL 语句

    - `varchar(n)`:可变长度且最大长度为n的字符串,最长4000个字符。 - `graphic(n)`:双字节字符,最长127个字符,用于支持多字节字符如中文。 - `vargraphic(n)`:可变长度的双字节字符串,最长2000个字符。 - `...

    常用sql语句集锦(PDF)

    对于列的增加,需要注意的是,一旦增加就无法删除,而且在某些数据库系统如DB2中,列增加后其数据类型也不能改变,除了可以增加varchar类型的长度。 创建索引的命令是CREATE INDEX,可以是唯一索引。如果要删除索引...

    DB2SQL语句大全[文].pdf

    这些SQL语句构成了DB2数据库管理和查询的基础,通过它们,你可以创建、修改数据库结构,插入、更新和删除数据,以及进行复杂的数据分析。了解和熟练掌握这些SQL语句对于软件开发人员来说至关重要,因为它们是与...

    经典SQL语句大全(全面提升你的SQL水平)

    SQL(Structured Query Language)是用于管理关系数据库的标准语言,对于初学者和有一定基础的人来说,掌握经典SQL语句是提升技能的关键。以下是一些关于SQL的基础知识和常用操作: 1. **创建数据库**:使用`CREATE...

    SQL语句大全,所有的SQL都在这里.pdf

    ### SQL语句大全知识点解析 #### 一、基础操作 **1. 创建数据库** - **命令格式**: `CREATE DATABASE database-name;` - **说明**: 此命令用于创建一个新的数据库实例。`database-name`应替换为实际数据库名称。 ...

    sql语句使用大全策略

    SQL语句是数据库管理的核心工具,它用于查询、更新和管理关系数据库。本文将深入探讨SQL语句的大全,特别是关于创建、管理表以及约束的使用。 首先,创建数据库是数据库管理的基础。在SQL中,你可以使用`CREATE ...

    经典SQL语句整理大全

    `ALTER TABLE tabname ADD column col type`向现有表中添加新的列,一旦添加,列就无法删除,且DB2中的列数据类型也无法更改,除非增加`VARCHAR`类型的长度。 7. **添加/删除主键**: - `ALTER TABLE tabname ADD...

    DB2错误大全,SQL CODE错误信息

    SQL CODE和SQL State是DB2中用于表示SQL语句执行状态的两个重要指标。SQL CODE主要用来表示SQL语句执行的结果,包括成功、警告或错误等;而SQL State则提供了更具体的错误代码,帮助开发人员和DBA快速定位问题所在。...

    DB2 SQL 消息

    这些消息通常包含了关于执行SQL语句时出现的问题详情,包括错误代码、描述以及可能的解决方案。通过理解这些SQL消息,用户可以更有效地调试和维护其数据库应用。 #### 二、SQL0440N - 找不到具有兼容自变量的类型为...

    SQLServer与DB2迁移中的主要差别及解决办法

    这意味着在迁移过程中,需要对SQL语句进行调整,以适应DB2的语法要求。 ### 解决方案与建议 面对SQL Server向DB2的迁移挑战,可以采取以下策略: 1. **全面评估**:在迁移前,进行全面的数据库结构和代码审查,...

Global site tag (gtag.js) - Google Analytics