技术文摘
当前位置:主页 > 技术文摘 >
SQL Server之TOP语句安插名望区别
来源:本站 作者:king 浏览: 时间:1970-01-01 08:00

  SQLSERVER的表值函数是SQLSERVER 2005往后的新特性,由于它使用比较轻便,就像一个孤独的表相通,在我们们的系统中多量诈欺。有一个取得客户数据的SQLSERVER 表值函数,假如行使收拾员登录•,这个函数会返回150W行记载,约略须要30秒足下,但倘使将TOP语句放到表值函数外,结果更加芜俚,必要约3分钟•:

  这个语句放在据开采框架的SQL-MAP文件中,起头还感觉是框架引起的•,将这个语句直接在探问了解器中拜候,照样很慢。

  1,在表值函数外愚弄Top大概其它恳求,SQLSERVER 的查询优化器无法针对此访问进行优化•,好比先返回一共记录,而后再在无意表录取取前面的20条记录;

  2,虽说该表值函数诈骗了“表变量”,它是内存中的,但假若这个“表”收效很大,很有也许内寄放不下(并非又有物理内存就会将效率放到物理内存中,数据库本身还会有存储的,会给其它看望预留一定的内存空间),行使虚拟内存•,而捏造内存现实上便是磁盘页面文件,当纪录太多就会产生反复的页面调换,从而导致这个访问功效优秀低。

  比来还遭受一个离奇的标题,有一个存储历程,老是在体系运行1-2天后变得极其急迅,但从新删改一下又很快了(不过加一个空格之类),不相识众人碰着过没有,什么原因?

币安网app官方下载
TEL:024-83863563

QQ 30999233@qq.com
地址: 沈阳市沈河区文化东路10号步阳国际大厦B1座11-28室

海风微信公众平台