<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

作者 傅凯文,谭永贻/库柏信息

本文引见 IBM Informix® Dynamic Server 数据库效能改善中最根蒂根基之身手 UPDATE STATISTICS 以及其紧张功用与实行机遇。

简介

在 IBM Informix® Dynamic Server (以下简称 IDS) 体系上,SQL 实行效能系于 IDS optimizer 所决意的实行计划 (SQL execution plan);而影响实行计划的决意的两个紧张参考数据为统计数据(statistics) 和材料漫衍 (distributions)。如果说这两个参考数据和理论数据景遇有太大的收支,Informix optimizer 大概会做出低从命的实行途径 (execution path),进而促使 SQL 实行效能不彰。 UPDATE STATISTICS 是更新这两个数据的必要身手。

妥当实行 UPDATE STATISTICS 之后的 IDS optimizer 做出的最高从命的实行计划而使 SQL 在 IDS 上实行更无从命。

IDS UPDATE STATISTICS 指令在 SQL 实行计划有两个紧张的功用:

1. 更新在体系型录 (system catalogs) 统计数据 optimizer 以此决意实行计划。

2. 更新材料漫衍景遇。 IDS optimizer 以此决意实行计划最无效途径 (lowest cost)。

UPDATE STATISTICS 指令操纵机遇

后面提到, IDS optimizer 在决意实行计划时,会参考统计数据和数据漫衍。统计数据从统计数据和数据漫衍并不是及时的,只需在实行 UPDATE STATISTICS 时才会更新,也就是说这些信息绝大部份的年华会和理论景遇有所收支。至于什么景遇下该操纵这个指令呢?

1. 材料数量 (number of rows) 有少量转变景遇。

2. IDS 停止数据转移 (migration) 之后。

实行 UPDATE STATISTICS 的实行选择

假若数据库有 1000 表格 (table) ,为齐备的 1000 表格实行 UPDATE STATISTICS 将耗用太多体系资源与年华,有理论实行上之困难。以是怎样选择需求被实行 UPDATE STATISTICS 之关键表格 (table) 才是实行 UPDATE STATISTICS 的关键决意。下列来自库柏信息 DBSonar 所供应之报表中,能帮你找到最常用以及最需求被实行 UPDATE STATISTICS 之关键表格,其典型如下:

DB

Table

Nrows in Update Statistics

Accurated NRows

Change Rate %

N Read

N Write

Seqscan

ERP

Table1

0

41398

100.0

205815

70238

8

ERP

Table2

1

1859

99.9

37449384

6206787

810

ERP

Table3

400000

18644384

97.9

115655415

17922233

0

ERP

Table4

246

4777

94.8

311858759

127744455

20102

以上 Table1 与 Table3 因其 Nrows in Update Statistics 与 Accurated NRows 差异甚大,是亟待被实行 UPDATE STATISTICS 之表格。譬如 Table3 是一个被少量读取 (115,655,415 次) 与写入 (17,922,233 次) 的表格, IDS 体系型录认为 Table3 只需 400,000 列 (rows) 而实际上 Table3 已有 18,644,384 列, DBA 实行下列指令以更新在体系型录统计数据。

UPDATE STATISTICS LOW FOR TABLE table3;

UPDATE STATISTICS 的等第

这个指令可以分红三种等第 (level): LOW, MEDIUM 和 HIGH 。这三种等第的区别就是实行 UPDATE STATISTICS 时所收集的数据取样的多寡。所谓的 HIGH level ,就是统计整个 table 的材料, MEDIUM 则是只随机拔取部份的材料停止统计。取样的数据越多,透过统计数据和数据漫衍做出来的实行计划才会越精准越无从命;不皮毛对的,统计和打定取样的年华本钱也会较量高。 UPDATE STATISTICS 的语法如下:

UPDATE STATISTICS [LOW|MEDIUM|HIGH];

UPDATE STATISTICS [LOW|MEDIUM|HIGH] FOR TABLE;

UPDATE STATISTICS [LOW|MEDIUM|HIGH] FOR TABLE table_name;

UPDATE STATISTICS [LOW|MEDIUM|HIGH] FOR TABLE table_name(col_name);

UPDATE STATISTICS [LOW|MEDIUM|HIGH] DISTRIBUTIONS ONLY;

UPDATE STATISTICS FOR PROCEDURE procedure_name;

DISTRIBUTIONS ONLY 是指更新数据漫衍。只需没有加上 DISTRIBUTIONS ONLY 参数,都邑发生统计材料;然则只需在 level MEDIUM 或是 HIGH 才会发生数据漫衍。 IDS optimizer 既然会接纳这两个数据做为选择实行计划的参考依据,我们可以透过一些小才干,让 optimizer 去选择我们希望它选择的实行计划。例如说,针对 table 齐备的字段实行 UPDATE STATISTICS LOW ;然则针对 query request 中 WHERE 前提有操纵到的字段实行 UPDATE STATISTICS MEDIUM ;对 index 所操纵到的第一个字段实行 UPDATE STATISTICS HIGH 。有了这样分歧等第的区别, optimizer 选择走 index 的实行计划的机遇就会相对提高了。 UPDATE STATISTICS 实行后统计数据和数据漫衍是会不绝掩饰从前的,以是统一个 table 有实行一种以上 level 的 UPDATE STATISTICS 时,切记先从 LOW, MEDIUM, HIGH 的挨次实行,以免 MEDIUM 或 HIGH 的数据被 LOW 所掩饰。

结论

在数据库体系中,最紧张的事变就是实行 client 端送来的 SQL ;而 optimizer 就身负决意实行 SQL 效能的关键脚色。为了让 IDS optimizer 做出最无从命的实行计划,活期实行 UPDATE STATISTICS 就是数据库经管员最紧张的职责之一。实行相干细节和实行前后成果差异,未来会在后续的专栏中连续联系。

参考数据

- Understanding and Tuning Update Statistics

版权声明: 原创作品,容许转载,转载时请务必以超链接形式标明文章 原始来由 、作者信息和本声明。不然将追究法律责任。

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1975303.html

INFORMIX体系效能改善第一步相关推荐

  1. 维持薪酬制度的公平性,是企业在设计薪酬体系时的第一步

    薪酬制度,是每一个企业都无法逃避的难题.在人力资源管理制度方面,与员工利益最直接相关的.员工最能感受到公平与否的便是薪酬制度. 薪酬管理的公平性主要包括四个方面: 一是结果的公平性.主要是指企业职工对 ...

  2. CODING x 百果园,水果零售龙头迈出 DevOps 体系建设第一步

    百果园(全称深圳百果园实业(集团)股份有限公司),2001 年成立于深圳,是一家集水果采购.种植支持.采后保鲜.物流仓储.标准分级.营销拓展.品牌运营.门店零售.信息科技.金融资本.科研教育于一体的大 ...

  3. 【知识图谱】如何构建知识体系:知识图谱搭建的第一步

    互联网时代,人类在与自然和社会的交互中生产了异常庞大的数据,这些数据中包含了大量描述自然界和人类社会客观规律有用信息.如何将这些信息有效组织起来,进行结构化的存储,就是知识图谱的内容. 知识图谱的难点 ...

  4. 以一个应用为牵引走遍全栈体系——第一步先整体起个头

    前言 整体的技术栈的目标,归根结底还是要让有用的应用持续得为用户提供服务.这里面包含了应用的全部生命周期,自然也包含了支撑应用全部生命周期的技术体系结构.所以,我们这里也会以一个完整的应用为牵引,带出 ...

  5. 打破数字化盐碱地:传统型企业如何踏稳数字化转型第一步

    导语:在汽车到来前的时代,人们追求更快的马车,殊不知要的是一辆汽车,而在数字化已然降临的当代,部分企业寄希望于更新管理理念.组织结构等实现效益的不断攀升,殊不知需要的是一次内外部结合的数字要素升级与重 ...

  6. 程序员失业第一步?斯坦福研究员用AI从编译器反馈中学习改Bug

    来源:AI科技评论 本文约2700字,建议阅读10分钟 本文介绍了来自斯坦福大学的两位研究员研究了如何使用AI来自动修复程序,以期未来程序修复自动化可以大大提高编程和学习编程的效率. 众所周知,程序员 ...

  7. 迈好“转战”第一步-丰收节交易会·陶以平: 谋定乡村振兴

    迈好"转战"第一步-丰收节交易会·陶以平: 谋定乡村振兴 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 经信研究 国研智库 国情讲坛 哲商对话 万权采编:在脱贫攻坚战取得全面 ...

  8. 激活用户并让他留下,仅是“活下去”的第一步

    人在江湖,免不了要体验一波那3个同一天发布的社交产品,相比「土味聊天宝」与「年轻的多闪」,王铁匠家的「马桶MT」着实令人懵圈,也不知慕名来参观这款匿名社交产品的百万大军,有多少人已经失望卸载? 先来看 ...

  9. 虚拟化的第一步——VMware基本整合评估服务

         不景气的寒冬,IT预算严重缩减,"精简IT成本"."提高资源使用率",成为MIS协助企业度过难关的第一要务.虚拟化技术在经济不景气的当下,已经被许多企 ...

  10. 脸书推出VR视频会议应用程序 正式跨出元宇宙第一步;三家公司新入选福布斯2021云计算百强榜;微软挖来亚马逊云业务顶级高管贝尔...

    NEWS 本周新闻回顾 微软挖来亚马逊云业务顶级高管贝尔 微软公司已经聘请亚马逊云业务高管查理·贝尔担任其企业副总裁.鉴于微软的Azure 云业务正试图从亚马逊 AWS 手中争夺份额,这一挖角行动可以 ...

最新文章

  1. TensorFlow——入门基础
  2. 记一次php项目上线遇到的坑
  3. 时间段为查询条件时的日期边界查询不到问题
  4. 5.intent_activity
  5. P2863 [USACO06JAN]牛的舞会The Cow Prom
  6. ajax主要有哪些方法,ajax的使用方法和原理,ajax包括哪些技术呢
  7. oracle查看会话(常规操作)
  8. 线程的异常捕获与线程池的异常捕获
  9. Android 屏幕适配:最全面的解决方案
  10. boost基础——any
  11. 好用的在线 java 编译网站,编辑器(亲测)
  12. android studio 快捷键修改
  13. 【总结】1164- 一篇非常 Nice 的 UmiJS 教程
  14. 华为鸿蒙智能家居套件价格,华为全屋智能家居方案价格
  15. java--输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
  16. 农民工看完都学会了!Android开发岗还不会这些问题,跳槽薪资翻倍
  17. 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)
  18. spring boot中小学餐饮配送系统 毕业设计源码645661
  19. 1949-2020年各省市农业全要素生产率(年度)
  20. vue打印插件的使用

热门文章

  1. 路由汇总之二ospf路由汇总
  2. RSS导入功能已完成
  3. PHP设计模式——组合器模式
  4. DHTML【11】--DOM
  5. STM32 ADC没有输入电压时,采集结果不为0
  6. linux下source filename,./filename,. filename,......
  7. Linux 系统级开启文件句柄 调优
  8. 小程序中 wx.navigateTo 页面跳转没有反应?
  9. 我的Python学习笔记(四):动态添加属性和方法
  10. VS2008 + WDK 配置 及其编译错误