当前位置: 首页 > news >正文

高端响应式网站建设淘宝网手机版

高端响应式网站建设,淘宝网手机版,计算机网站开发,网络销售怎么学基础知识普及#xff1a; 对于筛选索引#xff0c;MSDN如是说#xff1a; 筛选索引是一种经过优化的非聚集索引#xff0c;尤其适用于涵盖从定义完善的数据子集中选择数据的查询。 筛选索引使用筛选谓词对表中的部分行进行索引。 与全表索引相比#xff0c;设计良好的筛选…基础知识普及 对于筛选索引MSDN如是说 筛选索引是一种经过优化的非聚集索引尤其适用于涵盖从定义完善的数据子集中选择数据的查询。 筛选索引使用筛选谓词对表中的部分行进行索引。 与全表索引相比设计良好的筛选索引可以提高查询性能、减少索引维护开销并可降低索引存储开销。 筛选索引与全表索引相比具有以下优点 提高了查询性能和计划质量 设计良好的筛选索引可以提高查询性能和执行计划质量因为它比全表非聚集索引小并且具有经过筛选的统计信息。  与全表统计信息相比经过筛选的统计信息更加准确因为它们只涵盖筛选索引中的行。 减少了索引维护开销 仅在数据操作语言 (DML) 语句对索引中的数据产生影响时才对索引进行维护。  与全表非聚集索引相比筛选索引减少了索引维护开销因为它更小并且仅在索引中的数据更改时才进行维护。 筛选索引的数量可以非常多特别是在其中包含很少更改的数据时。 同样如果筛选索引只包含频繁修改的数据则索引大小较小时可以减少更新统计信息的开销。 减少了索引存储开销 在没必要创建全表索引时创建筛选索引可以减少非聚集索引的磁盘存储开销。  可以使用多个筛选索引替换一个全表非聚集索引而不会明显增加存储需求。 MSDN地址http://msdn.microsoft.com/zh-cn/library/cc280372(vsql.105).aspx  -- 基础案例介绍 在很多场景中过滤索引能解决很多复合索引无法处理的问题成为一些特殊问题的必杀技如下面的查询 SELECT TOP(10) C2 FROM TB1 WHERE C15 ORDER BY C2 DESC 如果按C2倒序排序后排在结果集前面的大多数行都满足C15的条件的话那么我们可以建立以下索引来优化 CREATE INDEX IDX_C2_INC ON TB1(C2) INCLUDE(C1) 但如果满足C15的行特别少或者排在结果集尾部的话那么查询需要遍历索引的大部分才能找到匹配的数据返回给客户从而导致大量逻辑IO开销。 如果满足C15的行比较少那么可以使用以下索引来优化 CREATE INDEX IDX_C1_C2 ON TB1(C1,C2) 虽然以上索引能帮助快速找到所有C15的行但仍需要经过一次排序后才能获得TOP(5)的数据而排序又会导致CPU资源开销。 随着SQL SERVER 2008引入过滤索引后这样的查询便可以轻松搞定我们只需要建立以下索引 CREATE INDEX IDX_C2_WH ON TB1(C2) WHERE C15 查询可以通过索引很快找到满足C15并且按C2排序的TOP 5的数据最小化地消耗CPU和IO资源。-- 在SQL Server中数据库选择的“自动创建统计(Auto Create Statistics)”选项默认为开启状态, 随着索引的创建数据库会自动创建与之对应的统计信息创建过滤索引的过程同样会创建对于的统计信息。 当数据库设置为自动更新统计时数据库未开启跟踪标志情况下SQL Server 监控表中的数据更改当更改满足一下条件之一时更新1.向空表插入数据时 2.少于500行的表增加500行或者更多 3.当表中行多于500行时数据的变化量大于20%时 在SQL SERVER 2000中,指的是20%的行被修改而在SQL SERVER 2005/2008中指的是20%的列数据被修改 PS: 20%不是一个绝对值 -- 那么问题出来了这个20%比例对过滤索引的统计信息是否满足呢如果满足的话哪基数是什么呢是表中的数据还是当前满足条件的数据呢 让我们来做个测试吧 首先准备测试数据 --创建表,并插入5000行数据 SELECT TOP(5000) IDENTITY(INT,1,1) AS ID, * INTO TB001 FROM SYS.all_columns GO --创建聚簇索引 CREATE CLUSTERED INDEX IDX_ID ON TB001(ID) GO --创建过滤索引 CREATE INDEX IDX_COLUMNID ON TB001(object_id) WHERE Column_id3 GO --再导入25000行数据 INSERT INTO TB001 SELECT TOP(5000) * FROM SYS.all_columns GO 5 --更新统计信息 UPDATE STATISTICS TB001 GO 查看过滤索引的统计信息 --查看过滤索引的统计信息 DBCC SHOW_STATISTICS(dbo.TB001,IDX_COLUMNID) GO 目前表中有30000行数据满足条件的数据是5412行都超过500行的限制考虑20%这是一个参考值而不是绝对值我们测试值调整到50%为了避免版本问题导致更新行还是更新列的问题我们统一使用插入方式来测试。 1.首先测试插入5412*50%2706行数据 --再导入2706行数据 INSERT INTO TB001 SELECT TOP(2706) * FROM SYS.all_columns GO --执行查询尝试触发统计更新 SELECT TOP(1) object_id,COUNT(1)FROM TB001WHERE Column_id3GROUP BY object_idORDER BY COUNT(1) DESC --查看过滤索引的统计信息 DBCC SHOW_STATISTICS(dbo.TB001,IDX_COLUMNID) GO 统计信息未发生变化仍旧是 2.首先测试插入30000*50%15000行数据(需要考虑之前已插入的2706条数据) --再导入25000行数据 INSERT INTO TB001 SELECT TOP(5000) * FROM SYS.all_columns GO INSERT INTO TB001 SELECT TOP(5000) * FROM SYS.all_columns GO --由于之前插入2706条数据,因此第三次插入2294 INSERT INTO TB001 SELECT TOP(2294) * FROM SYS.all_columns GO SELECT COUNT(1) FROM TB001--执行查询尝试触发统计更新 SELECT TOP(1) object_id,COUNT(1)FROM TB001WHERE Column_id3GROUP BY object_idORDER BY COUNT(1) DESC GO --查看过滤索引的统计信息 DBCC SHOW_STATISTICS(dbo.TB001,IDX_COLUMNID) GO 感谢上苍感谢党统计更新了世界和平了妈妈再也不用担心我的成绩了毕业很多年啦泪流满面啊 -- 在测试过程中最开始想使用以下查询来触发 SELECT TOP(1) object_id FROM TB001 WHERE Column_id3 AND Column_id82873218 ORDER BY object_id GO SELECT COUNT(1) FROM TB001 WHERE Column_id3 GO 结果得出一个错误结论经多次测试后才发现上述两个查询虽然使用到索引但是无法触发统计更新。 -- 总结无论是复合索引还是过滤索引的统计信息都是以上一次统计信息更新时表的行数作为基数当更新达到按20%左右的比例左右后由查询执行来触发统计自动更新。 PS1 更新数指的是操作影响的行数如执行10次UPDATE操作每次UPDATE影响50行数据那么更新数为500即使这10次UPDATE没有改变任何一条数据类似UPDATE T1 SET C1C1这类操作 PS2 即使更新数达到20%左右查询使用到该过滤索引也不一定会触发统计更新只有查询优化器认为该统计过期并且需要一个更新过的统计信息来生成执行计划时才会触发统计自动更新 PS2由于过滤索引的只存放满足过滤条件的数据的特殊性存在一些场景下索引数据变化很多而对应的统计信息尚未满足过期(无效)条件从而导致生成不高效的执行计划因此有很多高手大神都建议专门针对这些有过滤条件的统计信息制定更新计划提高其更新频率 PS3除创建过滤索引会生成有过滤条件的统计信息外数据库管理员也可以主动添加有过滤条件的统计信息供执行优化器使用。 -- 漂亮妹子看多了来点普通的哈哈  转载于:https://www.cnblogs.com/TeyGao/p/4050972.html
http://www.zqtcl.cn/news/643196/

相关文章:

  • 九江建网站多少钱打开云南省住房和城乡建设厅网站
  • 合肥市门户网站wordpress登陆不上
  • 摄影网站在线建设办公室设计装修
  • 深圳市移动端网站建设游戏网站建设与策划方案
  • wap版网站 加app提示厦门网站seo优化
  • 旅游网站 功能建设银行网站会员
  • 公园网站建设wordpress 分类目录使用英文
  • 苏州高端网站设计制作wordpress改固定连接
  • 门户网站开源sae安装wordpress
  • 建设彩票网站需要哪些要求城乡与住房建设厅网站首页
  • 公司做网站费用计入什么科目网络建设规划
  • 外贸网站建设案例深圳设计网站培训
  • 龙岗地区做网站公司北京装饰公司排行 2019
  • 大企业网站建设方案wordpress博客模板查询
  • 手机网站建设动态公司做网站效果怎么样
  • 网站推广和优化教程上海网络科技有限公司招聘
  • 即墨建网站价格商城二次开发
  • 网站排名易下拉教程怎么做网店运营
  • 聊城做网站公司聊城博达海外服务器租用多少钱一年
  • 手机上网站做国外销售都上什么网站
  • 网站建设与管理报告书做电销有什么资料网站
  • 网站建设哪家最好企业商城网站建设方案
  • 舟山市建设工程质量监督站网站网页版微信二维码加载失败
  • 金融网站html5模板给自己家的公司做网站好做吗
  • 新农村建设投诉在哪个网站上海做电缆桥架的公司网站
  • 免费行情100个软件网络优化论文
  • asp.net动态的网站开发个人业务网站带后台
  • 控制网站的大量访问关于实验室建设的英文网站
  • 中国容桂品牌网站建设怎么自己做个网站做链接跳转
  • 安徽省建设工程协会网站昆明官网seo厂家