79得票7回答
写一个简单的银行模式:我应该如何保持我的余额与交易历史同步?

我正在为一个简单的银行数据库编写模式。以下是基本规格: - 数据库将存储用户和货币的交易。 - 每个用户每种货币只有一个余额,因此每个余额只是对给定用户和货币的所有交易求和。 - 余额不能为负数。 银行应用程序将仅通过存储过程与其数据库通信。 我预计这个数据库每天会接受数十万条新交易,并...

49得票2回答
在PostgreSQL中增量地刷新物化视图

在PostgreSQL中,是否有可能增量地刷新物化视图,即仅针对新数据或已更改的数据进行刷新? 考虑以下表格和物化视图: CREATE TABLE graph ( xaxis integer NOT NULL, value integer NOT NULL, ); CREAT...

44得票3回答
在Postgres中替换一个物化视图

我在Postgres 9.3中有一个物化视图,我想用新的列进行更新。然而,其他物化视图也依赖于这个视图,错误信息表明当其他对象依赖于它时,无法删除视图。 错误:无法删除物化视图latest_charges,因为其他对象依赖于它。 从文档中也可以看出,对于物化视图,REPLACE关键字是无效...

39得票1回答
你如何在SQL Server 2017中创建一个带有SNAPSHOT_MATERIALIZATION的视图?

SQL Server 2017有几个新的存储过程: - sp_refresh_single_snapshot_view - 输入参数为@view_name nvarchar(261),@rgCode int - sp_refresh_snapshot_views - 输入参数为@rgCode ...

32得票4回答
在Postgres中查询物化视图的定义。

我想知道如何在Postgres中查询物化视图的定义。作为参考,我希望做的事情与查询常规视图的方式非常相似。 SELECT * FROM information_schema.views WHERE table_name = 'some_view'; 这将为您提供以下列: table_c...

31得票4回答
在MySQL中创建一个物化视图的最佳方法 在MySQL中,创建物化视图的最佳方法是使用CREATE MATERIALIZED VIEW语句。物化视图是一种预先计算和存储查询结果的技术,可以提高查询性能并减少重复计算。 要创建物化视图,首先需要确定要基于哪个查询创建视图。然后,使用CREATE MATERIALIZED VIEW语句指定视图的名称和列,并定义查询语句。例如: CREATE MATERIALIZED VIEW my_materialized_view AS SELECT column1, column2, ... FROM table WHERE condition; 在这个例子中,my_materialized_view是物化视图的名称,column1、column2等是要包含在视图中的列,table是要查询的表,condition是查询的条件。 创建物化视图后,可以使用REFRESH命令来更新视图的数据。REFRESH命令会重新执行查询并更新物化视图中的数据。例如: REFRESH MATERIALIZED VIEW my_materialized_view; 通过定期刷新物化视图,可以确保视图中的数据始终与基础表保持同步。 总之,在MySQL中创建物化视图的最佳方法是使用CREATE MATERIALIZED VIEW语句来定义视图的结构和查询语句,并使用REFRESH命令定期更新视图的数据。这样可以提高查询性能并减少重复计算。

我正在使用MySQL 5.6版本。我无法像在Oracle中那样创建一个物化视图。我已经看到了一两个解决方案,比如Flexview。 有人能告诉我在MySQL中创建一个物化视图的最佳方法吗(自动刷新,就像在Oracle中一样),并且尽量简单?

31得票2回答
使用索引视图进行聚合计算 - 真的太好了吗?

我们��一个数据仓库,记录数量相当大(1000-2000万行),经常运行查询以计算特定日期之间的记录数,或计算具有特定标志的记录数,例如。 SELECT f.IsFoo, COUNT(*) AS WidgetCount FROM Widgets AS w JOIN Flags...

20得票1回答
索引视图的聚集索引被选中的因素有哪些?

简而言之,查询优化器在选择索引视图的索引时考虑了哪些因素? 对我来说,索引视图似乎违背了我对优化器选择索引的理解。我曾经看到过类似的问题,但是那个帖子并没有得到很好的回应。我真的在寻找一些指导,但我会编写一个伪例子,然后发布一个包含大量DDL、输出和示例的真实例子。 假设我正在使用Ente...

19得票1回答
Postgres: 检查物化视图占用的磁盘空间?

我知道如何在Postgres中检查索引和表的大小(我使用的是9.4版本): SELECT relname AS objectname, relkind AS objecttype, reltuples AS "#entries", pg_size_pretty(relpag...

18得票3回答
如果两个进程同时尝试并发地刷新物化视图,会发生什么情况?

根据文档: 并发刷新物化视图,不会锁定对物化视图的并发选择。(...) ...其他内容... 即使使用此选项,每次只能对一个物化视图进行一次刷新。 我曾经有一个函数,用于检查物化视图的最后刷新时间,如果超过60秒,则会刷新它。 然而,如果我尝试同时从两个独立的进程刷新物化视图,会发生...