热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

对进行INFORMIX进行Update Statistics

来源: 作者: 时间:2008-08-12 Tag: 点击:
 一、Update Statistics的作用
  为了提高数据库的效率,INFORMIX提供了一个基于成本的查询优化器,执行update statistics语句的作用就是将您创建的数据库表的有关统计信息更新到系统sysmaster的相关表中(如systables、syscolumns、sysindexes、sysdistrib、sysprocplan等),以便查询优化器选择最佳的执行路径。当sysmaster库中没有相应的统计信息,或者统计信息不十分准确时,优化器便无法制定一个行之有效的查询策略,其结果必然是进行大量极其可怕的顺序扫描,产生严重的性能问题。
  
  因此,当您重新装载数据或者对数据库表进行了大量的更新操作后,应该及时执行update statistics。也许您会发现,数据库一些参数配置的不合理可能使数据库效率降低百分之几,但如果您没有定期执行update statistics的话。数据库的性能则可能降低几到十几倍。
  
  二、Update Statistics的语法
  执行update statistics共有三个级别,即:update statisticslow、updates tatistics medium、update statistics high。
  1 update statistics[low]for table[{table-name|synonym-name}[(column-list)]]][drop distributions]
  update statistics low只更新表、字段、记录数、页数及索引等的最基本信息,对字段的分布情况不做统计。其语法说明如下:
  
  (1)update statistics或update statisticslow,对当前数据库中所有表(包括系统表)及过程进行更新统计。
  (2)update statistics low for table,对当前数据库中所有表(包括临时表,但不包括系统表)进行更新统计。
  (3)update statistics low for table tablename,对指定的表所有字段进行更新统计。
  (4)update statistics low for table tablename(column-list),对指定表的指定字段进行更新统计。
  (5)如果不带drop distributions,原有字段分布情况依然保留;否则,原有字段分布情况将被删除。
  2 update statistics medium[for table[{table-name|synonym-name}[(column-list)]]][resolution percent[conf]][distributions only]
  update statistics medium除了更新表、字段、记录数、页数及索引等的最基本信息外,对字段的分布情况会采取抽样的办法来统计,因此与update statistics low相比需要花费更多的时间。其语法说明如下:
  
  (1)resolution percent是指分布统计的详细程序,percent定义的是一个百分数,如resolution2意思是指按照字段的值分布统计成50段,如果不指定resolution percent,缺省值为2.5。
  (2)conf是指分布统计时取样的比例,conf参数的取值范围为0.80—0.99,缺省值为0.95。
  (3)如果指定了distributions only,则对索引的信息不做更新统计。


相关文章:
SQLite3 C/C++ 开发接口简介(API函数) 二
SQLite3 使用教学
Scaling out MySQL - Hardware today and tomorro
SQLite适用的范围
sybase cursor declare
SQL语句大全精要
用户配额
decode函数
Oracle 数据库创建表空间、创建用户指定表空间
MySQL教会我使用GnuPG验证软件包
MySQL中MyISAM引擎与InnoDB引擎性能简单测试
initdb
mysqladmin在线帮助文档
CentOS 4.7 安装Oracle 9.2.0.4的一些问题
文本如何导入oracle(sqlldr 的用法)
ORA-00600: 内部错误代码,自变量: [16201], [],
分布式Oracle的database link
install a MySQL source distribution
Mysql备份脚本(未验证)
oracle 9.2.0.1 update 9.2.0.5
每小时Dump所有mysql数据库到NAS存储设备上
Oracle SCN机制解析
Account LOCKED(TIMED)
MySQL数据库5.0的my.cnf配置选项
oracle存储过程中调用其他用户的表
修改sqlplus提示符
MYSQL建表实例
一些对Mysql DBA有用的脚本
Oracle DBA 强悍挑战OS 64位 Solaris 10-真正休
[Bugzilla]由Mysql迁移到Oracle的方法