我有一个巨大的毁灭性视图,我必须调整.这是一个简单的调整,因为我只是在select语句中添加NVL函数.
即原创......
Select this,
that.....
Run Code Online (Sandbox Code Playgroud)
即修改
Select NVL(this, orThat) as this,
NVL(That, orThis) as that
Run Code Online (Sandbox Code Playgroud)
查询需要26秒才能运行,但由于检索到的行数(230万),它的速度很慢.它连续运行了近5天,然后我停了下来.
这是一个问题,特别是因为我需要将它传递给客户端,并且他们无法运行脚本超过5天来创建MV.
问题:有没有办法加快改变/重建MV?如果我改变MV或者它会像丢弃和重新创建一样快吗?
Oracle版本= 10g
我有以下物化视图 -
CREATE MATERIALIZED VIEW TESTRESULT
ON PREBUILT TABLE WITH REDUCED PRECISION
REFRESH FORCE ON DEMAND
WITH PRIMARY KEY
AS
SELECT...
FROM...
WHERE...
Run Code Online (Sandbox Code Playgroud)
此物化视图没有支持MATERIALIZED VIEW LOG.如上面的子句所示,这个MV有"ON DEMAND"指定,并根据Oracle文档,
"[ON DEMAND]表示[s]将通过调用三个DBMS_MVIEW刷新过程之一按需刷新物化视图."
当我调用DBMS_MVIEW.REFRESH('TESTRESULT')时,发生了什么?它是否手动检查每条记录以查看它是否已更新?
Oracle版本:10g
我在其上创建了物化视图日志表:
create table T1(A number primary key);
create materialized view log on T1 with primary key;
Run Code Online (Sandbox Code Playgroud)
Oracle还为物化视图日志创建了两个表:
select TABLE_NAME from USER_TABLES
|T1 |
|MLOG$_T1 |
|RUPD$_T1 |
Run Code Online (Sandbox Code Playgroud)
如何确定该RUPD$_T1表是一个包含mview日志的表T1?
我可以确定这个MLOG$_T1:
select MASTER, LOG_TABLE from USER_MVIEW_LOGS
|T1 |MLOG$_T1 |
Run Code Online (Sandbox Code Playgroud)
但是在哪里可以找到对该表的引用RUPD$_T1?
我刚刚开始使用Cassandra DB.我想在Cassandra上创建物化视图(以存储查询)但是,在谷歌搜索后,我还没有找到任何关于它的信息.也许在Cassandra中不允许这样做?
那么,可以使用以下语句创建关系数据库(例如Oracle)中的物化视图:
CREATE MATERIALIZED VIEW table_mv
BUILD IMMEDIATE
REFRESH FAST ON COMMIT
AS SELECT * FROM tabla;
Run Code Online (Sandbox Code Playgroud)
Cassandra CQL中是否存在类似的东西?或者,如何在Cassandra CQL中的表中存储查询?
谢谢
我正在考虑Postgres 9.4中的物化视图的问题。有时查询“刷新实例化视图xxx”将永远挂起。
我发现的唯一方法是完全重新启动postgres服务。重启后需要几秒钟。
我的观点并不复杂,它使用约10个表。
我已经执行过select * from pg_stat_activity where state = 'active',唯一正在运行的查询是刷新视图。
CentOS操作系统出现此问题。
下次出现此问题时我应该看什么?锁?或者是其他东西?
视图和物化视图之间的实际区别是什么?
我浏览了很多链接,他们说普通视图就像虚拟表,数据不能存储在磁盘上,以防物化数据存储在磁盘上。但从那里我没有得到什么时候使用普通视图和何时使用物化视图之类的信息。如果我创建这两个视图,我可以在我的架构中看到。我想知道我们使用普通视图和物化视图的确切时间和地点。请给我提供实际示例的解决方案。
谢谢
我需要向 Postgres 中现有的物化视图添加一个新列。
根据本文档: https://www.postgresql.org/docs/9.3/sql-altermaterializedview.html
它说这些是列的选项:
ALTER [ COLUMN ] column_name SET STATISTICS integer
ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] )
ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] )
ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
Run Code Online (Sandbox Code Playgroud)
但没有添加新列的语法示例,即使它说column_name是“新列或现有列的名称”
...或者我应该使用SET SCHEMA new_schema?
I am trying to use the TimescaleDB extension to compute some continuous aggregates. I have this query which works fine:
SELECT distinct time_bucket('1 hour', entry_ts) as date_hour,
type_id,
entry_id,
exit_id,
count(*) OVER (partition by time_bucket('1 hour', entry_ts), entry_id, exit_id, type_id) AS total,
((count(*) over (partition by time_bucket('1 hour', entry_ts), entry_id, exit_id, type_id)) * 100)::numeric /
(count(*) over (partition by time_bucket('1 hour', entry_ts), entry_id)) percentage_of_entry
FROM transits
Run Code Online (Sandbox Code Playgroud)
When I try to put this inside a continuous aggregate materialized view, I get …
postgresql materialized-views window-functions timescaledb continuous-aggregates
我正在创建一个视图,同一个视图在同一系统中转换为物化视图.但是在另一个系统中做同样的事情我ORA-01722: invalid number在创建物化视图时遇到了错误.为什么?
create materialized view MV_EMP_VALI
refresh complete with rowid start with SYSDATE+1/24 AS
(select * from V_CHA1);
Run Code Online (Sandbox Code Playgroud)
视图:-
CREATE OR REPLACE VIEW V_CHA1 AS(SELECT EMPNO,
MONTHYEAR,
to_number(SUM(CPFEMO)) AS EMOLUMENTS,
to_number(SUM(CPEPF)) AS EMPPFSTATUARY,
to_number(SUM(AEMO)) AS AEMO,
to_number(SUM(APEPF)) AS APEPF,
MAX(recsts) AS recsts
FROM ((SELECT RECDATE,
(CASE WHEN (REPFEMOFLAG='N') THEN
round(NVL(trim(EMO), 0))
ELSE
round(NVL(REVISEMO, 0)) END ) as CPFEMO,
round(NVL(trim(EPF), 0)) AS CPEPF,
0 as AEMO,
0 as APEPF,
'' as recsts,
EMPNO
FROM EMP_VALI
WHERE EFLAG = …Run Code Online (Sandbox Code Playgroud) 我是否认为物化视图的列表索引与列出表的索引相同?换一种说法:
select *
from ALL_IND_COLUMNS
where TABLE_OWNER='SOME_OWNER'
and TABLE_NAME='SOME_TABLE'
order by INDEX_NAME, COLUMN_POSITION;
Run Code Online (Sandbox Code Playgroud) oracle ×5
oracle10g ×3
postgresql ×3
cassandra ×1
database ×1
indexing ×1
sql ×1
timescaledb ×1
view ×1