问题标签 [materialized-views]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - SQL Server 上索引视图(=物化视图)的按需刷新模式?
我知道 Oracle 为其物化视图提供了几个刷新模式选项(按需、提交、定期)。Microsoft SQLServer 是否为其索引视图提供相同的功能?
如果没有,如果我的目的是每天+按需导出数据,并且想要避免性能开销问题,我还能如何在 SQLServer 上使用索引视图?是否存在解决方法?
sql-server - SQL Server 索引视图匹配与连接不起作用的视图
有没有人体验过 SQL Server 2008 R2 何时能够自动匹配包含查询连接的索引视图(也称为物化视图)?
例如视图
无法自动匹配到相同的确切查询。当我直接从这个视图中选择时,with (noexpand)
我实际上得到了一个更快的查询计划,它对索引视图的聚集索引进行扫描。我可以让 SQL Server 自动进行这种匹配吗?我有很多查询和视图,我不想每次都手动引用索引视图,因为我使用的是 OR 映射器。
我使用的是 SQL Server 2008 R2 的企业版。
编辑:我找到了解决方案。SQL Server 2008 R2 不会自动匹配超过 2 个连接的索引视图。可能它会使优化过程减慢太多。
编辑 2:在我创建问题 2 年后回顾这个问题,我认为我的结论不正确。物化视图匹配是一个非常脆弱的过程,多年来我找不到明确的规则。
当然,以下因素起作用:
- 连接数
- 谓词的存在
- 视图和查询中的联接顺序
materialized-views - 物化视图和同义词
谁能说物化视图和同义词的优点和缺点?
最好的问候,克里斯塔普斯
sql - MySQL VIEW 与嵌入式查询,哪个更快?
我将使用视图优化 MySQL 嵌入式查询,但我不确定它是否会产生效果:
我想将其转换为:
我听说过 SQL Server 中的“索引视图”,但我不确定 MySQL。任何帮助,将不胜感激。谢谢!
sql - 是否可以为视图设置主键?
是否可以在 SQLServer 2008 中为视图设置主键?
sql - 我可以在 oracle 上通过 sqllink 为 SQL Server 表设置物化视图吗?
我在 SQL Server 数据库中有一个表,需要对 oracle 数据库可见。我们已经尝试在 sqllink 上使用普通视图,但我们无法在该视图上创建 onUpdate 触发器。
我已经读过,如果它是一个物化视图,我们可以创建触发器,但无法找到任何关于它是否可以跨不同数据库完成的信息。(所有示例都是针对 oracle 到 oracle 表的)
有人可以告诉我是否可能吗?如果我使用物化视图,我可能需要注意哪些问题?
谢谢
oracle - 物化视图的 PCT 是什么?
在参考手册中看到它。物化视图的 PCT 是什么?
什么是“分区更改跟踪”?
oracle - 跟踪 Oracle 中物化视图的更改
在 Oracle 中跟踪物化视图更改的最佳方法是什么。我知道,触发器是可用的,而且 CDC 似乎不适用于物化视图。有什么聪明的解决办法吗?
谢谢你的帮助
约翰内斯
sql - 使用触发器和 FK 约束维护计算记录表有什么缺点?
我有一个包含角色的表。许多用户可以分配给一个角色。可以将权限分配给一个角色,将权限授予该角色的所有用户。
当我为拥有 50000 人的角色分配权限时,我实际上创建了 500 个权限分配。
对于分配给角色的每个权限,我指定了一个复杂的计算,在确定每个具有该角色的个人具有何种类型的权限访问时必须进行该计算。例如,如果我将“READ_EMAIL”权限分配给“ACCOUNTANT”角色,那么在我这样做时,我还包含一个变量,该变量指定允许哪些邮箱类型,因为有多种邮箱类型并且会计师应该只有访问其中的某个组。
因此,当我想找出哪些人可以访问哪些特定邮箱时,我不仅要加入我的权限、角色和用户表,而且我需要进行查找,因为在空间中难以解释的原因是时间消耗并且不能更快。
我遇到的问题是,当我在视图中公开所有计算的权限分配(加入所有这些表 + 进行复杂、耗时的计算)时,需要很长时间。
我突然想到,我可以简单地创建一个用户角色权限表,该表是通过将用户分配给角色或通过将权限分配给角色来激活的触发器来填充的。每当将权限分配给角色时,它都会为每个具有该角色的个人插入一条记录,并在那时进行复杂的查找,将 500 条记录放入该表中。每当将用户分配给角色时,它都会生成任何权限+复杂的查找。从这个表到角色分配表和权限分配表会有外键,并带有级联删除。
角色分配的权限很少见,所以如果速度大大减慢也没关系。对我的表的 99.99999% 的访问是 SELECT。
这种方法有什么缺点吗?我需要实时数据。我只是在设计自己的提交物化视图吗?还有其他建议吗?