回答

收藏

MySql视图动态高效吗?

技术问答 技术问答 274 人阅读 | 0 人回复 | 2023-09-14

我正在寻找一个表视图,它将突出满足特定条件的数据。例如,如果我有一个带有整数值的表,我希望我的视图显示值大于100。我知道如何在表上创建视图,但视图是动态的吗?我已经在那里了MySQL这似乎是真的。但是,如果我的手表有1000多行,它有效吗?视图是否仍将动态更新为原始手表中的任何更改?2 t; ]0 [% D/ J9 Q+ k* q
                                                               
/ ^( I( N5 l+ L4 @2 W9 {0 ~    解决方案:                                                                ! c0 Q2 E! |- q4 j3 z, K  n4 ?0 w
                                                                基本上,MySQL基本上有两种视图类型。$ R- q% @6 A$ X. v9 k
[ol]合并视图[/ol]这类视图基本上只使用视图SQL重写查询。因此,这是您自己编写查询的捷径。这并没有提供真正的性能优势,但它使复杂的查询更容易编写和维护(因为如果更改了视图定义,则无需更改100个查询,只需更改一个定义)。
& \, }- @, I3 _/ }0 r. {1 z[ol]临时视图[/ol]这类视图使用视图SQL查询创建临时表。它具有合并视图的所有优点,但也减少了视图的锁定时间。因此,它可能会在高负载服务器上获得相当大的性能改进。
0 [3 w6 q0 R" l4 |还有未定义视图类型(默认),让我们MySQL在查询时选择它认为是最佳的类型…+ i3 R- G0 ]( j9 c$ a8 J' ^6 V3 M: M
但需要注意的是,MySQL不支持物化视图。因此,和Oracle不同的是,复杂的视图将大大提高其查询性能。视图查询总是在MySQL中执行。
: k. y  V" p! N9 ~$ C就效率而言,MySQL视图的视图不会提高或降低效率。它们使您更容易编写和维护查询。我已经在数亿行表上使用了视图,他们工作得很好…
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则