gpt4 book ai didi

Oracle 11 耗时对 LINESIZE 变化的变量敏感性

转载 作者:行者123 更新时间:2023-12-01 15:11:42 25 4
gpt4 key购买 nike

我已阅读文档 tuning SQLPlus关于 LINESIZE,但我正在努力弄清楚为什么一组 oracle 11 服务器在 LINESIZE 方面的行为似乎与另一组 oracle 11 服务器不同

运行以下查询会给我带来“奇怪”的耗时变化。

SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE ROWNUM < 140000;

1.1。敏感服务器上的 sqlplus

100   00:00:04.28 00:00:04.18 00:00:04.04
1000 00:00:06.48 00:00:06.37 00:00:06.32
10000 00:00:39.98 00:00:40.17 00:00:39.78

1.2。非敏感服务器上的sqlplus

100   00:00:04.90 00:00:04.93 00:00:04.77
1000 00:00:04.91 00:00:05.18 00:00:04.90
10000 00:00:05.79 00:00:05.54 00:00:05.74

SELECT OWNER, OBJECT_NAME FROM DBA_OBJECTS WHERE ROWNUM < 140000;

2.1。敏感服务器上的 sqlplus

100   00:00:06.65 00:00:07.53 00:00:06.88
1000 00:00:07.84 00:00:08.27 00:00:08.24
10000 00:00:40.71 00:00:41.54 00:00:40.60

2.2。非敏感服务器上的sqlplus

100   00:00:07.91 00:00:07.15 00:00:07.69
1000 00:00:05.64 00:00:05.59 00:00:05.52
10000 00:00:06.27 00:00:06.37 00:00:06.34

我在运行这些查询时更改的唯一变量是 LINESIZE 设置。我反复运行相同的查询,并将 LINESIZE 设置为 100、1000、10000。

我的主要问题是:为什么一组服务器似乎比另一组服务器对更改 LINESIZE 更敏感。敏感服务器范围从4s到40s,非敏感服务器范围从4s到7s。

什么可以解释这种“敏感性”的差异?

查看 2.2 数字,我们看到由“LINESIZE 太小”引起的可变性,较大的 LINESIZE 导致较短的耗时(从 100 到 1000)。但是为什么在2.1号里看不到同样的效果。

注意:

  • 使用相同的 sqlplus 客户端并报告相同的设置通过显示全部。

  • autotrace 返回的 Oracle 统计数据几乎完全相同(无顺序幅度变化)

  • Oracle 数据库 11g 企业版 11.2.0.3.0 版 - 64 位制作

最佳答案

终于弄清了这个令人讨厌的问题的根源。

我们使用的 sqlplus 客户端版本是:SQL*Plus: Release 10.2.0.3.0 - Production

将“敏感”与“非敏感”sqlplus 主机分开的设置是 NLS_LANG 环境变量。在非敏感的变量未设置,因此默认为 AMERICAN_AMERICA.US7ASCII在敏感变量上,变量设置为 AMERICAN_AMERICA.UTF8

一旦您知道要查找的内容,就会出现以下链接: https://community.oracle.com/thread/979446?tstart=0

关于Oracle 11 耗时对 LINESIZE 变化的变量敏感性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37426638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com