greenplum - 自动选择旧版/OCRA 优化器?
问题描述
对于大量小查询,set optimizer = OFF
是减少延迟的好选择。但是我很难决定应该使用哪个语句?是否有任何服务器配置可以根据语句自动打开/关闭它?
解决方案
GPORCA 的原始设计针对数据仓库的分析查询进行了优化;专注于通常需要几个小时的查询,并试图让它们在几分钟内运行。
对于这些长时间运行的查询,与查询本身的持续时间相比,计算最佳计划所需的时间很短。但是,对于较短的查询,找到最佳计划所需的时间对于整体执行时间变得更加重要,因此这是一个需要未来开发工作的领域。这一切都是为了找到平衡和瓶颈。
问题是你要根据一个语句运行的任何东西都将通过计划器——除非你计划它,否则你怎么知道它很小?
根据您管理环境的方式,您可以有一个专用的资源队列,其中可以有 SET 参数,包括 OPTIMIZER=OFF。
推荐阅读
- vba - 使用带有标题名称的自动过滤器从空白中清除数据的宏
- tags - R-Project 的函数 hclust() 中可能存在的错误
- graalvm - GraalVM:宿主环境不允许访问本机代码
- c++ - 我的循环没有完成,当文件到达文件末尾时如何关闭它
- javascript - 将 NaN 转换为数字
- python - 更改 matplotlib Qt GUI savefig 的默认名称
- image-processing - 从图像中提取文本以用于 pokemon go
- android - “在此处翻译但在默认语言环境中找不到”strings.xml 中的错误,translatable="false"
- tensorflow - 平铺实例规范化
- sql - 在同一列上多次应用 PIVOT 运算符