SQL 语句 最大长度限制 DB2如何修改最大长度限制
答案:2 悬赏:30
解决时间 2021-03-15 23:12
- 提问者网友:全員惡人
- 2021-03-15 08:44
SQL 语句 最大长度限制 DB2如何修改最大长度限制
最佳答案
- 二级知识专家网友:输掉的尊严
- 2021-03-15 10:22
SQL超长:(
这段代码不仅没法读,性能也无法保障啊!
这段代码不仅没法读,性能也无法保障啊!
全部回答
- 1楼网友:零负荷的放任
- 2021-03-15 10:44
home/datamart$ db2 get db cfg|grep heap
sort heap thres for shared sorts (4kb) (sheapthres_shr) = automatic
sort list heap (4kb) (sortheap) = automatic
database heap (4kb) (dbheap) = automatic
utilities heap size (4kb) (util_heap_sz) = 103816
sql statement heap (4kb) (stmtheap) = automatic
default application heap (4kb) (applheapsz) = automatic
statistics heap size (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 编译器的工作空间。
配置类型
数据库
参数类型
可联机配置
传播类
语句边界
缺省值 [范围]
带有本地客户机和远程客户机的数据库服务器:缺省值为 automatic(底层值为 8192)。
还可将该参数仅设置为某个固定值。
带有本地客户机和远程客户机的数据库服务器:缺省值为 automatic(底层值为 2048)。
还可将该参数仅设置为某个固定值。
对于 32 位平台
automatic [128 - 524288]
对于 64 位平台
automatic [128 - 524288]
注: 在初始创建数据库后,缺省值将由 db2® 配置顾问程序进行更改。
计量单位
页 (4 kb)
分配时间
对于预编译或绑定期间的每个语句
释放时间
当每个语句的预编译或绑定完成时
此区域并不总是处于分配状态,但要对每个处理的 sql 或 xquery
语句进行分配和释放。注意:对于动态 sql 或 xquery 语句,将在程序执行期间使用此工作区; 而对于静态 sql 或 xquery
语句,在绑定进程而不是在程序执行期间使用此工作区。
可使用底层值或固定值将 stmtheap 参数设置为 automatic。该参数设置为 automatic 时,底层值会对使用动态连接枚举为单个编译分配的内存量加以限制。如果遇到内存限制,语句编译会使用贪婪连接枚举和不受限制的语句堆重新启动。其仅受到剩余应用程序内存量
(appl_memory)、实例内存 (instance_memory) 或系统内存的限制。如果贪婪连接枚举成功完成,那么将向应用程序返回一个 sql0437w 警告。如果贪婪连接枚举也遇到内存限制,那么语句预编译失败,且带有
sql0101n。
例如,db2 update db cfg for sample using stmtheap 8192 automatic 将为动态连接枚举设置
8192 *4k (32mb) 的语句堆限制并对贪婪连接枚举不设限制。
当 stmtheap 参数设置为固定值时,该限制同时适用于动态和贪婪连接枚举。如果动态连接枚举遇到内存限制,那么将使用同一固定语句堆限制来尝试贪婪连接枚举。在 automatic 情况下,类似的警告/错误也适用。
例如,db2 update db cfg for sample using stmtheap 8192 将同时为动态和贪婪连接枚举生成
8192 * 4k (32mb) 的语句堆限制。
如果在运行时的查询性能不够高,请考虑增大 stmtheap 配置参数值(底层为 automatic 的值或固定值),从而确保动态编程连接枚举能够成功。如果您更新 stmtheap 配置参数以提高查询性能,那么会导致重新编译语句,以便查询优化器可以创建新的访问方案来利用已更改数量的语句堆。
注: 仅在优化类 3 和更高级别(缺省值为 5)进行动态编程联合枚举。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯