在MySQL中有索引视图吗?

在MySQL中有索引视图吗?,sql,mysql,views,materialized-views,indexed-view,Sql,Mysql,Views,Materialized Views,Indexed View,我发现了,但没有比这更近的了。基于此,这是不可能的。但在3-4年内会有很多变化 我要寻找的是一种在视图上建立索引的方法,但要使被查看的表保持未索引状态。索引会影响写入过程,并且此表的写入非常频繁(索引会将所有内容都拖慢到爬行的程度)。但是,由于缺少索引,我的查询速度非常慢。我认为MySQL不支持物化视图,这正是您所需要的,但在这种情况下,它不会帮助您。无论索引是在视图上还是在基础表上,它都需要在基础表更新期间的某个时间写入和更新,因此它仍然会导致写入速度问题 您最好的选择可能是创建定期更新的汇总

我发现了,但没有比这更近的了。基于此,这是不可能的。但在3-4年内会有很多变化


我要寻找的是一种在视图上建立索引的方法,但要使被查看的表保持未索引状态。索引会影响写入过程,并且此表的写入非常频繁(索引会将所有内容都拖慢到爬行的程度)。但是,由于缺少索引,我的查询速度非常慢。

我认为MySQL不支持物化视图,这正是您所需要的,但在这种情况下,它不会帮助您。无论索引是在视图上还是在基础表上,它都需要在基础表更新期间的某个时间写入和更新,因此它仍然会导致写入速度问题


您最好的选择可能是创建定期更新的汇总表。

您是否考虑过从分析处理数据中提取事务处理数据,以便它们都可以专门化以满足其独特的需求

其基本思想是,您有一个定期修改的数据版本,这将是事务处理端,需要大量的规范化和少量的索引,以便写操作更快。第二个版本的数据是为分析处理而构建的,并且往往不太规范化,索引更重,以实现快速报告操作


围绕分析处理构建的数据通常围绕数据仓库的多维数据集方法构建,由表示多维数据集侧面的事实表和表示多维数据集边缘的维度表组成

是否只需要一个索引视图?写入一个只有一个索引的表不太可能有那么大的破坏性。没有主键吗

如果每条记录都很大,您可以通过找出如何缩短它来提高性能。或者缩短所需索引的长度


如果这是一个只写的表(即,您不需要进行更新),那么在MySQL中,开始对其进行归档或删除记录(和索引键)可能是致命的,需要索引开始填充(重用)已删除键的插槽,而不仅仅是追加新的索引值。违反直觉,但在这种情况下,您最好使用更大的表。

通过跟踪底层表的更改并更新作为物化视图的表,支持MySQL中的物化视图。这种方法意味着视图支持的SQL有点受限(因为更改日志例程必须找出它应该跟踪哪些表进行更改),但据我所知,这是MySQL中最接近物化视图的方法。

谢谢。我在物化视图上做了更多的搜索,看起来你是对的。这就是我现在正在研究的。我想。我将有一个表,其中包含我需要的数据,这些数据会定期更新,并为查询编制索引,因此我只需每隔[长时间单位]查询一次未编制索引的表,即可使用新数据更新索引表。请参阅