PostgreSQL中列的statistics属性 这个属性大概来说是用来控制分析时对列的分析的详细程度,会影响到执行计划的选择,具体的描述可以看文档。pgsql默认所有列的statistics都是100,这是个相当保守的数字,即对列中不同值的分析是很粗糙的。在列值分布不均匀的

PostgreSQL中列的statistics属性

这个属性大概来说是用来控制分析时对列的分析的详细程度,会影响到执行计划的选择,具体的描述可以看文档。pgsql默认所有列的statistics都是100,这是个相当保守的数字,即对列中不同值的分析是很粗糙的。在列值分布不均匀的情况下,经常会看到执行计划用很粗略的平均值估算而选择了非最优的路径。 www.2cto.com

通过调高这个参数,很多执行计划不正确的问题可以得到解决。特别是一些经常用到的查询列,提高默认参数很有必要。我感觉,提高到1000很有必要。按照官方文档,提高这个参数唯一的坏处是analyze时间会长一点。从实际情况来看,从100提高到1000基本感觉不到analyze时间有多少差别。

怎样才能知道某一列的statistics需要提高呢?最方便的就是用explain analyze了。如果发现执行计划里某个步骤执行结果的估算值(row)和实际获得值(actual)相差很悬殊,那么就很有必要提高这个参数了。怎么提高呢?

alter table [table name] alter column [column name] set statistics=1000;

提高完了记得重新analyze一下表。

还有一个需要注意的地方,有的地方是索引里的列值估算不准确(具体看执行计划),这时候需要调整索引里的列的statistics,方法和调整表一样,把索引当成表:

alter table [index name] alter column [column name] set statistics=1000;

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

pg中多值列_PostgreSQL中列的statistics属性相关推荐

  1. 父进程中getpid()值与子进程中getppid()值不相同的问题及解释

    父进程中getpid()值与子进程中getppid()值不相同的问题及解释 使用fork()创建一个新的子进程,并调用getpid()与getppid()查看父子进程之间的pid的关系.示例代码如下: ...

  2. oracle数据库中索值,Oracle数据库中的索引详解

    Oracle数据库中的索引详解以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一 ROWID的概念 存储了row在数据文 ...

  3. php代码正确 插不进表,在表中插入值在PHP中不工作,使用

    我正试图在表中插入值,我不知道到底发生了什么,它不起作用,我也看不到任何错误. 我不知道我在哪里犯了错误,有人能帮我吗? 这是我的代码: 数据库.php $host = 'localhost'; $d ...

  4. 在一个函数中把值放到Cookies中比较是否相等

    function setData()          {        var nlen1 = GetCookie("nlen1");  // 取旧值 //野狼 utf-8    ...

  5. 邮件合并的逆向应用,从多个Word文档中取值到Excel中

    按位置和表格取值到Excel: 将所有参考位置的目标提取出来,导出到Excel工作表中.例如"考试成绩:98.",要取出成绩其位置就是"考试成绩:"之后.句号之 ...

  6. 从多个Word文件中取值到Excel中,整理文件的神器,Word精灵V7.3

    Word精灵V7.3版,包含107个功能 工具网址:http://excelbbx.net/Word.htm 演示一个功能: 从多个Word文件中提取指定的值到Excel中,也可以理解为把多个Word ...

  7. jsp 将页面中的值导入java中_JavaWeb - JSP:概述和语法,内置对象,JavaBean 组件,MVC 设计模式

    JSP 的概述 概念 JSP 是 Java Server Pages 的简称,跟 Servlet 一样可以动态生成 HTML 响应, JSP 文件命名为 xxx.jsp. 与 Servlet 不同,J ...

  8. python提取json中的值,在Python中从JSON提取特定值

    从对API的调用结果(使用urllib2)中,我在Python中有一个JSON对象,如下所示: results = urllib2.urlopen(req).read() json1 = json.l ...

  9. java中字段值重复校验,Java中一些常见的字段校验

    金额格式校验,两位小数,金额最好用纯数字表示,且单位为分. (^[1-9](\\d+)?(\\.\\d{1,2})?$)|(^0$)|(^\\d\\.\\d{1,2}$) 14位时间格式校验,8位日期 ...

最新文章

  1. 《权力的游戏》最终季上线!谁是你最喜爱的演员?这里有一份Python教程 | 附源码...
  2. kvm虚拟机_通过QEMU-GuestAgent实现从外部注入写文件到KVM虚拟机内部
  3. boost::python模块显示如何使扩展类pickleable
  4. truecrypt加密分区的编译
  5. python写网络调试助手_Qt开源作品4-网络调试助手
  6. 深入react技术栈(10):受控组件和非受控组件
  7. 公共技术点之 Java 注解 Annotation
  8. 【转】图标字体化浅谈
  9. 通过深度优先搜索(DFS)对图的边进行分类
  10. Geoserver之切片
  11. linux中备份mysql数据库命令_linux备份mysql数据库命令
  12. 全能电子地图下载器 离线地图 介绍(支持几十种地图下载) 最新版 3.6 (2015.6.13)
  13. linux ext4 文件大小,刨根问底:ext3/ext4文件系统最大空间及单个文件大小演算法则...
  14. ESP8266调用心知天气API
  15. 【movie】整理了一些电影资料,自己留着慢慢看
  16. linux shell脚本中打开另一个终端并在新终端中执行shell脚本
  17. 前端逼死强迫症之DOM
  18. 银河麒麟批量压缩图片的方法
  19. 网站搜索引擎优化,值得关注的4个策略有哪些?
  20. 微信小程序 web-view 在ios显示空白页面

热门文章

  1. 有哪些你一打开,就令你惊讶的网站?
  2. 华为研究院19级研究员几年心得终成趣谈网络协议文档
  3. 【微机原理与接口技术】学习笔记5 I/O接口和并行接口芯片8255A
  4. Linux隔离网络,linux – 隔离网络上的单个NTP服务器
  5. android b站倍速播放器,倍速功能(setPlaybackSpeed(float speed)) ,在安卓23以下机型,开启倍速后,音调变高。...
  6. Python OpenCV 图片滑块验证码 滑块图片验证码 快速自动识别方案 代码简单 模板匹配识别 识别成功率达90%+
  7. 启用tls的情况下openvpn配置文件合并到ovpn文件
  8. 基于51单片机的智能蓝牙路灯街灯控制系统proteus仿真原理图PCB
  9. 第二证券|钠电池三种技术路线谁更将率先取代锂电池?
  10. 28岁程序员目前考虑转行,但又不知道自己能干什么