2013-04-25 85 views
2

我有一个查询连接多个表(并且很耗时),并将数据返回给视图。 我后来想将这些数据从视图传递到另一个视图。我知道我可以使用带有隐藏字段的表单来传递数据,或者在第二个视图的控制器中重新查询数据库。隐藏字段VS数据库调用

我想知道是否有一个“首选”的方式来做到这一点,只要效率和性能有关。使用隐藏字段将数据从视图传递到控制器会更好吗?或者,重新查询控制器中的数据库以获取数据会更好吗?

+0

多少列有,什么是平均结果行数? – 2013-04-29 07:45:07

+0

主表有大约10列,它被连接到大约3个其他表上,平均大约4列 – jpo 2013-04-29 11:10:20

回答

0

隐藏字段将非常多总是要比数据库命中更快。您应该尽可能利用它们,重新查询数据库是使用隐藏字段的主要好处之一。

0

IMO;你有10列,它被加入约3个其他表约4列平均不应该需要相当长的时间。

您可以创建视图并对视图编制索引以获得更好的性能。

我认为最好创建一个索引视图并使用它来查询另一个控件以从数据库获取实时数据。因为第一次加载数据时有很多机会,所以可能会更改,或者可能会插入新记录,直到您遍历到下一个视图为止。

因此,请尝试使用索引创建视图,并确保填充性能增益。

感谢, Jigar