首页 > 数据库 >SQL server 系统优化--通过执行计划优化索引(3)

SQL server 系统优化--通过执行计划优化索引(3)

时间:2024-01-23 13:07:20浏览次数:33  
标签:10 系统优化 log submittime -- submitdate server _. 索引

执行时间要7205ms,语句如下:    

select top 30 this_.id as id10_0_, this_.objid as objid10_0_, this_.objname 
as objname10_0_, this_.mid as mid10_0_, this_.logtype as logtype10_0_, this_.logdesc as logdesc10_0_, this_.submitor as submitor10_0_, this_.submitdate as submitdate10_0_, 

this_.submittime as submittime10_0_, this_.submitip as submitip10_0_, this_.col1 as col11_10_0_,this_.col2 as col12_10_0_, this_.col3 as col13_10_0_ from log this_ where  not exists (select 'X' from Delobj del where del.objid=this_.id and del.objtable='Log')  order by this_.submitdate desc, this_.submittime desc

  执行sql语句的执行计划:

  

SQL server 系统优化--通过执行计划优化索引(3)_sql语句

46万行数据。排序的成本很高,我们发现是通过:  

[dbo].[log].submitdate 降序, [dbo].[log].submittime 降序

重构聚集索引。

   是必须在(submitdate,submittime)建立聚集索引,由于前期在设计表时的不合理,造成了时间字段教长,有18个字节,大大超过了8个字节的datetime类型,不太适合建立聚集索引。

适当提高速度

  总结:

  1,字段类型和长短的是很重要,不然在后续修改和优化是很困难。   

    2,对与聚集索引选择一般在需要排序,进行范围选择和group by等字段上建立

 



标签:10,系统优化,log,submittime,--,submitdate,server,_.,索引
From: https://blog.51cto.com/u_16532032/9376916

相关文章

  • SQL server 系统优化--通过执行计划优化索引(1)
    正常down机7次左右,在线人员一多,系统运行缓慢,严重影响业务操作,到了无法忍耐的地步,这几天一直在这边处理优化中的问题和升级系统。将这些优化办法和思路记录下来,给大家在以后优化系统中提供思考和建议。      这几天都在通过执行计划来优化索引:      1,首先通过DMVs性......
  • 数据库优化---空间换时间优化
       在查询优化中,有一个重要的概念:空间换取查询时间     这一理论最好的应用就是:数据仓库(OLAP):在海量数据库里(一般是TB级)分析数据,通过对数据的ETL和计算汇总,得到有用的数据,并通过不同维度查看统计数据(一般比较少),实现上钻和下钻分析数据。   现在讨论一下在OLTP系统中空间......
  • 下车扫描五次优化全过程
    下车扫描,业务部门一直反应慢,不稳定,程序不是报黄页就是运行慢,严重影响师傅使用,估计师傅心里一直"很想我们"。第一次优化和同事一起看了程序业务逻辑,觉得应该将整个扫描逻辑过程放到存储过程,一可以避免程序在交互中的影响,二可以提高性能。修改完后,由于需要读取Sequence,在存储过程中......
  • SQL 语句技巧--单列数据变多行数据
      碰到一个需求,将一个列的数据:“122,123,145”或者“122,123,145,”,变成多行,表值函数如下:  CreateFUNCTIONtransColS(@idvarchar(4000))RETURNS@stTABLE(idint)begindeclare@strasvarchar(4000)IF(substring(@id,len(@id),1))<>','......
  • SQL构建表层次关系,递归累加数据
     构建表的上下级关系      有一个需求,表中数据没有关系,如同一个类型的,有多个出库时间。代码--构建表的上下级关系--可以对同一个产品的,有层次关系--使用ROW_NUMBER(),来构建,最上上一级为0INSERTINTOStock([no]--编号,[quantity]......
  • 数据库系统优化--业务逻辑设计优化
         当我们优化一个系统时,有时发现一种情况就是自己修改SQL,索引以及分区是不能解决性能问题的。这时你要考虑业务逻辑优化和表设计的重构。这两点的确和设计结合的很紧密。 业务逻辑优化     结合实际,我们先谈谈业务逻辑优化。     案例一:         我......
  • SQL Server 死锁处理和优化心得
       前段时间提到的"SQLServer2005死锁解决探索",死锁严重,平均每天会发生一次死锁,在解决和处理SQLserver2005死锁中查了很多资料和想了很多办法,对为何出现死锁和怎样较少死锁有了进一步认识,在这里和大家一起分享:    SQLServer锁类型    在数据库中主要存在两种......
  • 数据库重构(一):字段合并
    刚到公司不久,才知道公司产品在性能上有问题,数据量和并发数一大,系统就很慢,需要优化。在和公司技术同事讨论某模块优化,通过sql无法优化,因为系统sql是判断5个纬度,一个用户id,一个机构id,一个岗位id,还有级别判断和是否公共。     刚到公司不久,才知道公......
  • 喝黑豆汤前后的明显变化
    网友善果聊孩子喝黑豆汤前后的明显变化  【传说】豆仔姥姥(1134846367) 2014/11/279:25:25  笑笑,你怀孕喝黑豆汤了吗?  【冒泡】笑笑(237337745)2014/11/279:57:24没,家里老人婆有点那个,所以没喝  【活跃】善果2013.12.8(1515420513) 10:21:48@笑笑你好,请允许我和您说......
  • 真正的高手,都很简单
    大家都坐过汽车,你们觉得究竟是什么汽车?是不是觉得,要解释清楚还挺难的:要由发动机提供动力,烧油或者清洁能源带动轮子转动;是由底盘构成的,有座位、有玻璃,可以用来载客拉货……先打住,我们看看高手怎么说:“汽车,不就是四个轮子和两排沙发吗?”说这句话的人,是刚刚进入汽车行业的李书福,吉利集......