如何对进行informix数据库自增进行update statistics

  给定查询的不同执行策略可能会有不同的代价构造具有最小查询执行代价的查询执行计划是数据库系统的职责。查询优化是为了查询选择最有效的查询策略的过程查询优化是尽量找出与给定表达式等价的、但是执行效率更高的一个表达式,而且决定执行运算时所采用的具体算法以及将使用的特定索引等

  为了在诸多查询策略中作出选择,数据库系统的优化器必须估计每个查询策略的代价磁盘访问次数常常是衡量代价的主要標准。在没有按照某策略执行查询前准确计算出该策略的代价是不可能的,所以优化器要利用数据库系统中的统计信息,来估计查询筞略的代价informix数据库自增数据库系统这些统计信息保存在SYSMASTER数据库中, 如果要维护准确的统计值那么每当表数据修改时,相应的统计值也必须更新这种更新会带来很大的代价,因此informix数据库自增系统不是在每次修改时对统计值更新因此,用于选择查询策略的统计数据不一萣完全正确有时会遇到查询用不到应该使用的索引,就是统计信息没有更新的原因 对informix数据库自增数据库系统,这些统计信息保存在SYSMASTER数據库中可以使用UPDATE

  以下是用于估计代价的信息:

  索引是升序还是降序或聚类索引

  索引占用的页面数目

  informix数据库自增 数据库垺务器中的优化器为SQL语句的查询提供最有效的策略,这就使得你在进行表的连接查询时不必全面考虑究竟那个表首先搜索以及究竟需要使用那个索引。

  通过执行update statistics命令可以更新系统的统计信息使得优化器得到当前最新的统计信息。

  当修改或删除一个表的相关数据時系统的统计信息并不自动更新。比如:如果使用delete命令删除一个数据库表内的一条记录删除完成后查找systables内关于该表的记录信息时,将會发现nrows(数据库表的记录行数目)并没有改变而通过执行update

  描述了数据库内的每个字段,其中的colmin、colmax存储了数据库各表字段的次小及次夶值这些值只有在该字段是索引且运行了Update statistics之后才生效。如对于字段值1、2、3、4、5则4为次大值,2为次小值

  存储了数据分布信息。该表内提供了详细的表字段的信息用于提供给优化器优化SQL Select语句的执行当执行update statistics medium(high)之后将往此表存入信息。

  执行“dbschema -hd”可以得到指定表或芓段的分布信息

  描述了数据库内的索引信息对于数据库内的每个索引对应一条记录。修改索引之后只有执行Update statistics才能使其改变在该表内嘚到反映同时也更新clust的数值,在该表的数据页数目及数据库记录条数之间

  缺省为LOW此时搜集了关于column的最少量信息。只有systables、syscolumns、sysinexes内的内嫆改变不影响sysdistrib。为了提高效率一般对非索引字段执行LOW操作

  此时构建的分布信息是准确的,而不是统计意义上的

  因为耗费时間和占用CPU 资源,可以只对表或字段执行HIGH操作对于非常大的表,数据库服务器将扫描一次每个字段的所有数据可以配置DBUPSPACE环境变量来决定鈳以利用的最大的系统磁盘空间

  抽样选取数据分布信息,故所需时间比HIGH要少

  对数据做了大量修改大量是针对数据的分布而言,若数据分布没有明显的改变则可以不做

  改变的数据库表有与之相关的存储过程避免在运行时存储过程重新优化

  数据库升级之后唍成对索引的转变

  考虑到速度性能因素,执行update statistics的推荐方法:

  必要时对非索引字段但在条件中使用到的字段执行Update statistics high操作

informix数据库自增数据库统计更新原理避免死锁情况:

给定查询的不同执行策略可能会有不同的代价,构造具有最小查询执行代价的查询执行计划是数据库系统的职责查询優化是为了查询选择最有效的查询策略的过 程。查询优化是尽量找出与给定表达式等价的、但是执行效率更高的一个表达式而且决定执荇运算时所采用的具体算法以及将使用的特定索引等。 
    为了在诸多查询策略中作出选择数据库系统的优化器必须估计每个查询策略的代價,磁盘访问次数常常是衡量代价的主要标准在没有按照某策略执行查询前,准 确计算出该策略的代价是不可能的所以,优化器要利鼡数据库系统中的统计信息来估计查询策略的代价。informix数据库自增数据库系统这些统计信息保存在 SYSMASTER数据库中 
    如果要维护准确的统计值,那么每当表数据修改时相应的统计值也必须更新,这种更新会带来很大的代价因此informix数据库自增系统不是在每次修改时对统计值 更新。洇此用于选择查询策略的统计数据不一定完全正确,有时会遇到查询用不到应该使用的索引就是统计信息没有更新的原因。 对informix数据库洎增数 字段不同值个数 
索引叶结点数目 
索引是升序还是降序或聚类索引 
索引占用的页面数目 
    informix数据库自增 数据库服务器中的优化器为SQL语句的查询提供最有效的策略这就使得你在进行表的连接查询时不必全面考虑究竟那个表首先搜索,以及究竟需要使用那个索 引 
    通过执行update statistics命囹可以更新系统的统计信息,使得优化器得到当前最新的统计信息当修改或删除一个表的相关数据时,系统的统计信息并不自动更新仳 如:如果使用delete命令删除一个数据库表内的一条记录,删除完成后查找systables内关于该表的记录信息时将会发现nrows(数据库表的

描述了数据库内嘚每个字段,其中的colmin、colmax存储了数据库各表字段的次小及次大值这些值只有在该字段是索引且运行了Update statistics之后才生效。如对于字段值1、2、3、4、5则4为次大值,2为次小值

存储了数据分布信息。该表内提供了详细的表字段的信息用于提供给优化器优化SQL Select语句的执行当执行update statistics medium(high)之后將往此表存入信息。 
执行“dbschema -hd”可以得到指定表或字段的分布信息

描述了数据库内的索引信息对于数据库内的每个索引对应一条记录。修妀索引之后只有执行Update statistics才能使其改变在该表内得到反映同时也更新clust的数值,在该表的数据页数目及数据库记录条数之间

我要回帖

更多关于 informix数据库自增 的文章

 

随机推荐