我们是否可以在mysql或sql中创建Materialized视图,该视图将自动从基础基表中重新加载数据而不会击中基表。

Elobration:

我创建了viewMasterTable视图,它是3个表的联接,

TableA,TableB,Table = viewMasterTable

现在,如果在基表上进行了任何更改(例如upadate,insert或delete),而又不击中基表,我希望此视图重新加载数据。

**Will this view concept will help in performance increase**

#1楼 票数:2

您可以在SQL-Server Enterprise Edition中创建实例化视图。 在MySQL中,您无法创建实例化视图。 因此,这仅适用于SQL Server和非常特定的版本。

现在,您一无所获。 如果实例化视图,则意味着基表中使用的源列必须与基表中的数据保持同步。 因此,由于服务器现在必须写入基表并更新视图,因此基表上的所有更新/插入/删除都将受到影响。 因此,您将需要执行额外的操作来完成每次写入操作,这将导致服务器本身的性能下降。 根据表的大小,视图和更新的频率,这可能是小小的代价,也可能不是小小的代价。

您可以索引实例化视图,这才是真正发挥作用的地方。 假设您有一个非常复杂的视图,可以通过各种列进行过滤,那么物化视图将使您可以索引视图中的字段,从而使用户可以更快地进行过滤。 但是,缺点是,对于在物化视图上创建的每个索引,由于服务器在更新视图时需要更新索引,因此将产生更多的写惩罚。

因此,虽然这可能是提高复杂查询读取性能的一种非常好的方法,但您会看到写入性能下降。 这个罚款有多严重? 好吧,这取决于您如何安排磁盘IO路径,例如,将索引,视图和表放在单独的物理主轴上将有助于减轻一些写开销。

  ask by Rohitesh translate from so

未解决问题?本站智能推荐:

2回复

MySQL中的系统视图

我正在使用系统目录视图(例如SYS.ALL_ OBJECTS,SYS.FOREIGN_KEYS等)来获取有关我在MS SQL 2005中的数据库结构的信息。 MySQL(v。5)服务器是否具有等效的功能/视图?
1回复

自动电子邮件通知

在此项目中:用户输入日期时。 然后,所有到期的书将显示在“到期的详细信息”表中,并且当用户单击“电子邮件警报”(超链接)时。 自动将转到该特定的学生:“您已经超过了您的到期日”。在此Studentid , studentName , BookName , BookNo , Author ,
1回复

知识自动生成查询理解

我正在使用Knowledgeage软件进行数据分析,面临性能问题,现在我正在观看“数据集审核”日志,以查看系统执行哪些查询。 我发现这对我来说是胡说八道: 内部T查询是我输入的数据集定义查询,基本上是我表上的select * from [AFO]的select * from [AFO] ,
3回复

可以通过存储过程创建视图吗?

是否可以在采购中创建视图?
1回复

从SQLServer表创建mysql视图

我正在尝试从一些sql服务器表创建mysql视图,但是我没有找到方法。 我在sql服务器管理工​​作室中使用链接服务器从mysql表中在sql服务器中创建了许多视图和表,但现在我正尝试在另一端进行操作。
3回复

关于在sql`中获取自动列

我在表中基本上有50个字段,我想定期从表中选择这些字段。 问题是 :我必须手动编写所有这50个字段。 在intellisence或任何其他工具,我可以得到所有领域有任何捷径。 通过按工具自动。 还有家伙,如果有人知道这里额外的插件在sql ..然后请在这里发布。
2回复

SQL主键(ID)从头开始​​自动启动

我正在使用第 3 方定价 API,数据带有价格的开始和结束日期。 我已经检查了 SQL 数据库限制如下; 来源当数据到来时,我删除表中的数据并创建新数据。 因为日期范围总是在变化。 所以想象一下,我如何达到表中的最大身份编号值。 但此时表中实际上最多有 300.000 行。 我可以从 0 或 1
2回复

使用自动增量列插入效果

如果我有一个表的PK是一个自动递增的列,并且我的表有一个仅包含该列的索引,那么相对于根本没有键/索引的性能会有什么影响? 我对MySQL和MS SQL的影响感到好奇-如果有所不同。 更新 为了澄清,我的表还有其他列,但是它们都不是键/索引。 我现在只关心插入性能。