如果在执行查询或其他数据操作语言 (DML) 语句之前使用 UPDATE STATISTICS 语句 来更新系统目录,那么可以确保查询执行优化器可用的信息是最新的。 在 GBase 8s 中,优化器会为执行 SQL 查询和其他 DML 操作确定最有效的策略。优 化器允许您查询数据库而不必全面考虑要先在连接中搜索哪些表或要使用哪些索引。优化 器使用来自系统目录中的信息以确定最佳查询策略。 当删除或修改表时,数据库服务器不会自动更新系统目录中的相关统计数据。例如: 如果使用 DELETE 语句删除表中的一行或多行,那么 systables 系统目录表中用于保存该表 行数的 nrows 列不会自动更新。 UPDATE STATISTICS 语句会让数据库服务器重新计算 systables、sysdistrib、syscolumns 和 sysindices 系统目录表中以及 sysindexes 视图中的数据。(对于在 STATLEVEL 属性设 置为 FRAGMENT 的分段表上的操作,它还会更新 sysfragdist 和 sysfragments 系统目录表。) 在运行 UPDATE STATISTICS 之后,systables 系统目录表就在 nrows 列中保存正确的值。 如果在运行 UPDATE STATISTICS 时指定 MEDIUM 或 HIGH 方式,那么 sysdistrib 表会保存 更新的列分布数据。如果在运行 UPDATE STATISTICS 时指定 MEDIUM 或 HIGH 方式,那么 sysdistrib 系统目录表会保存更新的列分布数据。对于分段级别的统计信息,sysfragdist 系 统目录表会保存更新的列分布数据。 每当对数据表进行大量修改时,使用 UPDATE STATISTICS 语句来更新系统目录中的数 据。有关 UPDATE STATISTICS 语句的更多信息,请参阅 GBase 8s SQL 指南:语法
更新系统目录数据
最新推荐文章于 2024-05-15 22:52:13 发布