问题:

物化视图在基表数据修改后未经提交就直接查询速度很慢,之后再提交也没有作用,必须要过一段时间才可恢复,具体见下测试,希望高手指点!

--过程如下

CREATE MATERIALIZED VIEW LOG ON DU_PSUPCASEMX with primary key;

CREATE MATERIALIZED VIEW MV_PSUPPD02

REFRESH FAST ON COMMIT

ENABLE QUERY REWRITE

AS

SELECT * From DU_PSUPCASEMX

WHERE  XZCLXL=0 AND  PDCODE='02';

analyze table du_psupcasemx compute statistics;

--测试效果

SQL> SELECT count(*) From DU_PSUPCASEMX

2  WHERE  XZCLXL=0 AND  PDCODE='02';

COUNT(*)

----------

2069

Executed in 0.063 seconds

SQL> update        du_psupcasemx        set        XZCLXL=1234

2   where  opseno=69491960   and xzclxl=0 and pdcode='02';

1 row updated

SQL> SELECT count(*) From DU_PSUPCASEMX

2  WHERE  XZCLXL=0 AND  PDCODE='02';

COUNT(*)

----------

2067

Executed in 37.736 seconds

(这个还可以理解,因为没有提交,在其它事务中查会快)

SQL> commit;

SQL> SELECT count(*) From DU_PSUPCASEMX

2  WHERE  XZCLXL=0 AND  PDCODE='02';

COUNT(*)

----------

2069

Executed in 34.326  seconds

似乎是修改数据后得commit 后才能查询,直接查询的话,不仅当前速度慢,而且commit后还是慢!

再次查询

SQL> /

COUNT(*)

----------

2129

Executed in 34.85 seconds

尝试1:新开一个连接也一样慢。

Connected to Oracle9i Enterprise Edition Release 9.2.0.6.0

Connected as siis

SQL>

SQL> select count(*) from DU_PSUPCASEMX

2  WHERE  XZCLXL=0 AND  PDCODE='02';

COUNT(*)

----------

2129

Executed in 35.85 seconds

尝试2:再次修改数据并提交,一样慢。

SQL> update          du_psupcasemx        set        XZCLXL=0

2   where  opseno=48473058   ;

1 row updated

SQL> commit;

Commit complete

SQL>

SQL> select count(*) from SBDU_PSUPCASEMX

2  WHERE  XZCLXL=0 AND  PDCODE='02';

COUNT(*)

----------

2127

Executed in 36.85 seconds

理解:好像一定要过一段时间(几分钟)才能快起来。

实在没法理解,不知这种情况各位老大遇到没有,怎么解决啊。

这种操作有时也没法避免的啊!

drop 很慢 物化视图_物化视图问题-效率捉摸不定相关推荐

  1. mysql物化视图_(转)Oracle物化视图

    如如何建立在特定的表空间上,这些在其他的物化视图上面几乎都没有任何介绍的.主要以我做的一个例子来操作,如果对物化视图的基本概念清楚了就比较明白在那里写特定的表空间存储了. 1.简单试验在master ...

  2. Oracle物化视图与物化视图日志

    文章目录 物化视图 物化视图与普通视图的区别 创建一个存放person的表 创建一个存放person的address的表 初始化数据 创建物化视图的语句 1.build [immediate|defe ...

  3. 物化视图VS普通视图

    2019独角兽企业重金招聘Python工程师标准>>> 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表 ...

  4. Oracle物化视图和普通视图区别

    一.物化视图的简介 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际 ...

  5. 普通视图和物化视图的区别(转)

    物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的. 普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL ...

  6. [笔记]物化视图和普通视图

    物化视图 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视 ...

  7. mysql实现物化视图详解及视图与物化视图区别

    再一次sql优化中一个select count(*)语句因数据量实在太大,已经无法从简单的索引什么进行优化了,在同事的推荐下考虑到了物化视图 物化视图是相对于视图而言的,但是两者实际上并没有什么关系就 ...

  8. 物化视图、普通视图及其区别

    普通视图和物化视图的区别 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle ...

  9. 06oracle视图与物化视图

    1.视图 1.1.什么是视图 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结 ...

最新文章

  1. c语言如何不产生僵尸进程,第三章 九析带你处理 zombie(defunct) 进程
  2. 微软2011 Build大会:Windows 8盛大出场(转)
  3. building commercial website using Microsoft tech stack
  4. Java对象在Java虚拟机的创建过程
  5. SAP Spartacus页面底部的Component请求
  6. 机器学习——人工神经网络之后向传播算法(BP算法)
  7. ACL+NAT实现PC单向访问
  8. 13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复
  9. Oracle和Mysql的区别 转载
  10. 正常人一天步行走路多少为宜
  11. c# 执行js方法
  12. PHP特性整合(PHP5.X到PHP7.1.x)
  13. linux+脚本+pid,Linux启动脚本输出pid
  14. 最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法
  15. 下单账号与支付账号不一致_如何申请企业支付宝账号
  16. 全国计算机等级考试——C语言二级 题库
  17. python pytz下载_python:pytz包安装问题:ImportError:没有名为pytz的模块
  18. [数学建模]马尔萨斯的人口模型及感性认识
  19. 有10亿个整数,要求选取重复次数最多的100个整数
  20. python结合mitmproxy抓包实践

热门文章

  1. 编程建立一通讯簿C语言,C语言编程问题用C语言编个学生通讯录管理系统,功能有:①创建通讯 爱问知识人...
  2. 红橙Darren视频笔记 贝塞尔曲线实现消息拖拽粘性效果 画笔练习
  3. 迈向人工通用智能与混合天玑芯片架构
  4. (组合数学笔记)Pólya计数理论_Part.3_置换群及其性质
  5. yum安装elasticsearch慢_ELK elasticsearch yum 安装(4th)
  6. 【maven配置】IDEA自动生成的pom文件报错:URI Is Not Registered
  7. mapgis中6.7属性结构_不知道如何组织项目结构,这个项目也许可以给你启发
  8. php要懂函数吗,九个你需要知道的PHP函数和功能
  9. 面试基础(1)——面向对象/get,post的区别
  10. php mysql errorcode_PHP errorCode()和errorInfo():PDO中的错误处理