Update Statistics用法
Update Statistics语句的作用将创建的数据库表的有关统计信息更新到系统 sysmater的相关表中,以便查询优化器选择最佳的执行路径,当sysmaster库中没有相应的统计信息,或者统计不准确时,优化器会进行大量的顺序扫描,产生严重的性能问题
因此如果重新装载数据或者对表进行大量的更新操作后,及时使用 Update statistics
分三个级别:
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,原有字段分布情况依然保留;否则,原有字段分布情况将被删除。
updates tatistics medium:
除了更新表 字段记录数 页数 索引等基本信息,对字段的分布情况会采取抽样的方法来统计,与Update statistics相关会花费更多时间
update statistics high:
除了更新表 字段记录数 页数 索引等基本信息,对字段的分布情况会采取全部统计的方法
如何执行Update Statistics
通常执行update statistics的方法是:
1 对表中不带索引的字段执行update statistics medium,每个表执行一次。一般情况下,缺省参数就足够了。对于特别大的表(执行update statistics时,通常把超过26570条记录的表定义为特别大的表),可以带参数resolution1.00.99。
2 对表中带有索引的字段执行update statistics high,每个字段执行一次。
3 对表中带有复合索引的字段执行update statistics low,每个表执行一次。
4 对每一个小表执行update statistic shigh。
注意事项:
1 数据库本身不会自动更新sysmaster库中有关statistics统计信息,只有执行update statistics语句后,才能得到更新。
2 执行update statistics语句时,必须具有DBA权限或者为表的属主。
3 由于update statistics通常为单线程运行,不能利用PDQ等并发功能,对于一个较大的数据库,执行update statistics语句一般需要几个小时。为提高效率,可以将update statistics分为多个shell程序同时执行,并充分考虑数据空间分布情况,在并发执行时减少磁盘读写的冲突。
4 执行update statistics语句会占用一些临时空间,当临时空间不够时,数据库将提示错误。您可以通过设置DBUPSPACE环境变量,使update statistics在遇到临时空间不够时分步来执行排序统计。
Update Statistics用法的更多相关文章
- Create STATISTICS,UPDATE STATISTICS
该命令在一张表或者索引了的视图上更新查询优化统计数字信息. 默认情况下, 查询优化器已经更新了必要的用来提高查询计划的统计信息; 在某些情况下, 你可以通过使用UPDATE STATISTICS 命令 ...
- 【译】SQLskills SQL101:Trace Flags、ERRORLOG、Update Statistics
最近阅读SQLskills SQL101,将Erin Stellato部分稍作整理.仅提取自己感兴趣的知识点,详细内容请阅读原文. 一.Trace Flags推荐开启三个跟踪标记1118.3023.3 ...
- ORACLE MERGE INTO UPDATE DELETE 用法
ORACLE MERGE INTO UPDATE DELETE 用法 使用该MERGE语句从一个或多个源中选择行以进行更新或插入表或视图.您可以指定条件以确定是更新还是插入目标表或视图. 此语句是组合 ...
- SQL Server ->> SQL Server 2016功能改进之 -- Update Statistics
1) 以前SQL Server更新一张表/索引的间隔是固定的,创建时更新一次,到了500行时更新第二次,接下来就是呈百分比式的间隔去更新,距离数据修改量达到表的行数量的的20%再次触发更新.但是这样的 ...
- Update From 用法
今天遇到用一个表的字段填充另一个表的问题,整理了一下 1.在mysql中,应该使用inner join,即: UPDATE a INNER JOIN b ON a.userName = b.u ...
- MySQL Update语句用法
用一个表的某列值更新另外一个表的某列值的sql语句: update tableA a innner join tableB b on a.column_1 = b.column_1 set a.col ...
- UPDATE/INSERT用法研究
UPDATE和INSERT语法相信大家都很熟悉,UPDATE的基本语法结构是 : UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 INSERT的基本语法是: INSERT ...
- EasyUI tabs update 正确用法
来源:http://ewoyaofei.blog.163.com/blog/static/343562612012617111734974/ 一直以为 tabs update 是 easyui 的 b ...
- update 操作用法
--update 这个字段的所值为2 update tab a set a.字段1=2; --带条件的update update tab a set a.字段1=2 where id=10000; - ...
随机推荐
- statspack系列3
原文:http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-3/ 作者:Jonathan Lewis 下面的例子中的结果并 ...
- Codevs_1017_乘积最大_(划分型动态规划/记忆化搜索)
描述 http://codevs.cn/problem/1017/ 给出一个n位数,在数字中间添加k个乘号,使得最终的乘积最大. 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提 ...
- BZOJ_1565_[NOI2009]_植物大战僵尸_(Tarjan+最大流+最大权闭合图)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1565 n*m的矩阵,可以种植植物,僵尸从图的右边进入吃植物.前面的植物可以保护后面的植物,还有 ...
- 【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
转自:http://blog.csdn.net/gqqnb/article/details/6412364 2012.1.24更新 增加了“安装方法” eclipse是一个程序开发平台,它本身并不限制 ...
- DevExpress控件汉化类 z
更新了一些字段,VER9.3.3 using System; using DevExpress.XtraEditors.Controls; using DevExpress.XtraGrid.Loca ...
- RobotFramework+Selenium2library+Appium+Python+RIDE安装指南
最近在测试APP+WEB,想找一个好的自动化测试工具.然后发现RIDE这工具,框架比较自由,支持中文,有测试报告. 一个好的自动化测试就应该包含:Case管理+脚本的编写+自动生产报告. 如此一想,这 ...
- [Qt]Qt中TreeWidget拖拽事件
文章在简书里啦 http://www.jianshu.com/p/45b740060aca
- MySQL 数据库 引擎
MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引 擎:ISAM.MYISAM和HEAP.另外两种类型I ...
- Maven tomcat插件配置和使用
pom.xml组态 <build> <plugins> <plugin> <groupId>org ...
- QuaZip实现多文件打包
项目需求: 在Goldenfarm客户端中当用户选择了本地场景文件,并进行本地场景文件分析后会产生分析结果,分析结果主要包括:贴图纹理.可渲染层等,其中贴图纹理指出了在场景文件中使用到的贴图或其它文件 ...