当前位置: 首页 > 面试题库 >

MySql视图是动态且高效的吗?

韩捷
2023-03-14
问题内容

我正在寻找一个表视图,该表将突出显示满足特定条件的数据。例如,如果我有一个带有整数值的表,我希望我的视图显示值大于100的行。我知道如何通过在表上创建视图来实现这一点,但是视图是动态的吗?我已经在MySQL中对此进行了测试,这似乎是真的。但是,如果我的表有1000多个行,这样有效吗?视图仍将“动态”更新为原始表中的任何更改吗?


问题答案:

基本上,MySQL中基本上有两种视图类型。

  1. 合并视图

这种类型的视图基本上只是使用视图的SQL重写查询。因此,这是您自己编写查询的捷径。这并没有提供真正的性能优势,但是使编写复杂的查询变得更容易并使维护更加容易(因为如果视图定义发生更改,则无需针对该视图更改100个查询,只需更改一个定义即可)。

  1. 临时视图

这种类型的视图使用视图SQL的查询创建临时表。它具有合并视图的所有优点,但也减少了视图表的锁定时间。因此,在高负载服务器上,它可能会获得相当可观的性能提升。

还有“未定义”视图类型(默认),让我们MySQL在查询时选择它认为是最佳的类型…

但是需要注意的重要一点是,MySQL不支持物化视图。因此,与Oracle不同的是,复杂的视图将大大提高针对它的查询的性能。视图的查询总是在MySQL中执行

就效率而言,MySQL中的视图不会提高或降低效率。它们在那里使您在编写和维护查询时更轻松。我已经在具有数亿行的表上使用过视图,并且它们工作得很好…



 类似资料:
  • 我正在设计一个具有滚动视图的页面,其上方是表格视图(禁用滚动)。为此,我在这个问题中提到了答案 - 使UITableView不可滚动并调整高度以容纳所有单元格,但没有成功。 视图层次结构以及提供的约束- -主视图 -滚动视图< br >固定在主视图的所有边上(0,0,0,0),限制边距 -内容视图 固定到滚动视图(0,0,0,0),与主视图宽度相等,与主视图高度相等(优先级-250) -内容视图中

  • 问题内容: 我目前有一个使用以下sql的硬编码视图: 我的问题是是否可以从角色表中的记录动态生成角色列。 问题答案: 您 可以 做您想做的事,但是我不确定 为什么 要这么做。获得动态列别名后,如何计划引用它们?也就是说,如果您从数据库中提取列别名,那么您将如何使用它们呢?我可能错过了您提出问题的原因。 无论如何,我假设您具有这样的结构: 由此,您可以获得有关用户及其角色的信息: 您还可以为特定角色

  • 我正在研究具有动态单元格高度的表视图。 由于我的要求,我必须展示40种不同的cell.Each细胞是不同的。 例如。 一个单元有2个标签,一个图像视图另一个单元只有2个图像视图,另一个单元格有5个标签,1个文本视图,2个按钮,2个图像查看 我的问题是我无法静态定义高度。每个单元格中的.labels和textview都基于运行时的文本。因此,根据各个元素,我需要调整高度。所以我根据下面的编码计算了标

  • 我遇到了内容视图高度限制的问题。所有标签都有动态高度,即没有固定高度。我在某个地方读到将高度设置为等于滚动视图高度。 ViewController的高度目前是870px,scrollview的高度是757px。我不知道如何在AutoLayout中设置高度,因为我无法在某一点后滚动。 我首先设置了UIScrollView,然后添加UIView作为UIScroll View的子级,然后添加了2个UII

  • 我有一个具有动态高度的表视图与其他具有动态高度的UI组件一起在表视图中 数据,模型在这里.. 单元格子视图。。 这是内部tableView及其约束! 构造器

  • 我在表视图单元格下有一个集合视图。我在集合视图中显示所有标记值。现在,我想使表视图的高度动态变化,以便显示所有数据。用户不需要滚动集合视图。我在项目中使用自动布局。目前,我在tableView(_tableView:UITableView,heightForRowAt-indexPath:indexPath)方法中返回“UITableView.automaticDimension”,并使集合视图滚