【发布时间】:2012-11-21 22:14:56
【问题描述】:
我最近了解了视图的概念,我发现它们对于将复杂查询拆分为多个部分有很大帮助。
我的问题是,当我开始从视图进行查询时是否存在任何效率劣势,而这些视图又是来自其他视图的查询等...
所以我会例如:
view1 -> query from tables A, B & C
view2 -> query from tables D, E & F
view3 -> query joining view1 & view2
在查询 view3 而不是设计一个连接表 A、B、C、D、E 和 F 的单个查询时,会不会有任何速度劣势?
如果我选择使用视图方法,这有关系吗,我在 view1、view2 和 view3 的设计中是否有 ORDER BY 子句,或者我最好不要将任何 ORDER BY 子句放在任何的视图,我在查询 view3 时只使用 ORDER BY?
非常感谢您的帮助! 博加。
【问题讨论】:
-
Order By通常不会对您的结果产生太大影响,除非您想获得例如top 5 with max revenue...names in alphabetical order with first 10 customers...等等。