sql - Netezza:使用 SQL / force 生成完整的统计信息
问题描述
有没有办法强制 netezza 使用 SQL 在表上生成完整的统计信息。我知道可以通过命令行来完成,但这需要在启动此命令的机器上安装 nzsql 客户端。根据此处提到的详细信息 - https://www.ibm.com/support/pages/understanding-generate-statistics-statement可能会强制 NZ 假设目标表(我们要在其上运行完整统计) 是小/中的(设置 sample_stats_min_Rows = 1000000;),以便它使用“GENERATE STATISTICS ON”命令生成完整的统计信息。但是,似乎 sample_stats_min_rows 不再是一个有效的选项,因为它给出了一个错误
ERROR [HY000] ERROR: 'SAMPLE_STATS_MIN_ROWS' is not a valid option name
. 我们已经看到了性能上的巨大差异,完整的统计数据与快速统计数据以及因此的请求相比存在巨大差异。我们拥有的版本是 Release 7.2.1.10-P1
解决方案
nz_genstats 可以选择生成完整的统计信息。如果您深入研究脚本,这就是完成此任务的设置
完整的统计数据
SET ENABLE_JIT_DISPERSION=FALSE;
SET ENABLE_JIT_STATS=ON;
GENERATE STATISTICS ON $TABLENAME;
用于快速统计
SET ENABLE_JIT_DISPERSION=TRUE;
SET ENABLE_JIT_STATS=ON;
SET JIT_DISP_MIN_ROWS=999999999999999;
GENERATE EXPRESS STATISTICS ON $TABLENAME;
用于基本统计
SET ENABLE_JIT_DISPERSION=TRUE;
SET ENABLE_JIT_STATS=ON;
SET JIT_DISP_MIN_ROWS=1;
SET ENABLE_GENSTATS_DISPERSION=FALSE;
GENERATE STATISTICS ON $SQL_TABLENAME;
推荐阅读
- snmp - 如何从 snmp iflist oid 中删除接口?
- php - Laravel 上的模型 [App\Model] 没有查询结果
- html - 绝对 div 的填充在 Internet Explorer 7 中的解释不同
- reactjs - 是否可以从组件功能中调用操作?
- r - 从另一个矩阵中以特定顺序获取矩阵的标题
- java - Hibernate 中不存在表或视图
- amazon-web-services - AWS EB 部署错误:AppDeployEnactHook/03start-task.sh:活动失败
- karate - 在单独的功能文件中重用场景大纲中的示例
- python - 读取,修改xml使用python将其保存在新的xml中
- c++ - 在 C++ 中,基类中的“公共无符号 int 类型”是不是 dynamic_cast 的更快替代方案?