在MySQL视图上使用索引

时间:2010-05-25 21:24:02

标签: mysql

我们有一个MySQL表,其中的行永远不会更新,而是添加新行,旧的行标记为过时。想想Rails'acts_as_paranoid,但每次更新。

为了使Rails正常工作,我们有一个只选择“当前”行的视图。这为我们的ActiveRecord模型提供了更好的“表”。

障碍:我们的索引不再被使用了。

视图上的查询不使用基础表的索引。您无法向视图添加索引。没有索引,应用程序就会慢得无法忍受。

我们提出的唯一解决方案是构建物化视图,但这是MySQL的痛苦,因为它们本身不受支持。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

由于MySQL执行视图底层的查询,因此它仍应使用组成视图的查询的索引。对您用于创建视图的查询进行说明,如果没有建立索引,请在此处发布。