不可小视视图对效率的影响力

原创 2004年07月28日 19:46:00

近日为一家企业开发数据库方面的应用。有两张数据表:A和B,其中A的记录为2万条左右,而B中的数据为200万条以上,现在要求以a.id=b.id为关联进行数据筛选。

为此要求,我做了个视图View1,将a.id与b.id关联起来,运行该视图的查询,使用了2秒中就得到结果了。这时又有一特殊需求:编写存储过程,该存储过程中有一个游标的循环,该循环重复1万次,在每次循环中都使用了对View1的查询,举例如下:

循环游标体(重复1万次)
{
    select @text=text from view1 where id=@ id    --其中@text,@id均为变量
   update form1 set
text=@text where id=@id
}

执行以上的存储过程,发现竟然要花费>7分钟的运算时间,进行分析后得知效率全损耗在对view1视图的扫描上,尽管单独对该视图进行查询只需2秒,但在这种情况下即需要太多的时间。

因此改进该存储过程如下:

create table #tempTab
(
  id nvarchar(20),
  text nvarchar(20)
)

查询View1视图,将记录插入到#tempTab临时表中...

循环游标体(重复1万次)
{
    select @text=text from #tempTab where id=@ id    --其中@text,@id均为变量
   update form1 set
text=@text where id=@id
}

别小瞧以上的改动,此时该存储过程只花费50秒的时间。

对于上述现象,分析如下:在多次循环对某个视图进行查询时,将会耗费大量的时间,因此将该视图的数据放在内存中进行计算会大提高速度。

如您有什么高见,请回复,一起讨论一下。

不可小视的位运算

不可小视的位运算
  • niu91
  • niu91
  • 2014年01月05日 09:17
  • 876

不可小视的head标签

HTML head 头部分的标签、元素有很多,涉及到浏览器对网页的渲染,SEO 等等,而各个浏览器内核以及各个国内浏览器厂商都有些自己的标签元素,这就造成了很多差异性。移动互联网时代,head 头部结...
  • u012491166
  • u012491166
  • 2014年12月06日 22:12
  • 385

不可小视的论坛外链

外链等于上网站的导入链接,导入链接对于网站来说十分首要,导入链接的质量和数目直接抉择了网站在SEO搜索引擎中的权重。外链的形式多种多样,论坛式、博客、分类等等,今天主要想要说一下论坛式外链。科尼想说的...
  • yonggandexin2012
  • yonggandexin2012
  • 2014年06月08日 23:23
  • 257

mysql视图效率测试

mysql中的视图不太只能,稍微复杂些的视图,不能展开,下面是测试: CREATE ALGORITHM=UNDEFINED DEFINER=myadmin@xxSQL SECURITY DEFINE...
  • aoerqileng
  • aoerqileng
  • 2016年08月02日 16:33
  • 1789

JavaScript Core -- 不可小视的标点符号

我们通过实际题目来看看那些平时被我们忽略掉的标点符号,到底有多少坑 逗号 逗号我们常见的用法就是在连续声明一些变量的时候,可以少些很多var var a=1,b=2,c=3; ...
  • hellobeifeng
  • hellobeifeng
  • 2015年10月11日 14:18
  • 356

sqlserver 视图和sql语句的效率对比

视图和sql语句的实例比较
  • luckysiesteven
  • luckysiesteven
  • 2015年09月24日 12:38
  • 2488

不可小视的贝叶斯(一)

昨天讲述了研究生做的第一个项目,今天开始进入我的学术研究方向的重点——机器学习,虽然这些文章对于我找一份程序员工作可能没有什么太大的帮助,但是毕竟是之前我花了很多时间研究过的,既然以后的重点都是回忆,...
  • junli_chen
  • junli_chen
  • 2016年01月05日 10:25
  • 121

网站编辑器安全隐患不可小视

现在免费的网页编辑器一大堆,老掉牙的eWebEditor,还有百度编辑器ueditor,kindeditor,xheditor,CKEditor,Fckeditor等这些知名的编辑器。在线编辑排版文章...
  • luoxiao136611
  • luoxiao136611
  • 2015年04月30日 16:22
  • 3585

MySQL 利用视图来提高开发效率

如何利用MySQL 视图加快程序开发
  • timchen525
  • timchen525
  • 2017年07月17日 21:07
  • 675

sqlserver视图查询效率测试

测试视图的查询效率,结果清晰表示视图不降低查询效率。
  • wanmdb
  • wanmdb
  • 2015年12月19日 15:23
  • 3516
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不可小视视图对效率的影响力
举报原因:
原因补充:

(最多只允许输入30个字)