问题标签 [database-view]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 如何使用 frappe 访问在数据库中创建的视图
我们在 mariadb 中创建了一个视图。我们想从 Frappe 访问该视图。frappe 是否支持这种功能?
mysql - view 在向 view 添加额外的列时是否会占用磁盘/文件的空间,这在 table 中不存在?
我想从一个表学生创建一个视图,并想添加一个额外的列。这个视图在添加额外列时会占用磁盘/文件的空间吗?这是我的代码:
mysql - Mysql:如何使用组创建高性能视图
我有一个查询,我想授予某人查看权限。该查询非常基本,但大致如下:
通常这个视图是在一个 id 上查询的(它在初始表上被索引),像这样:
运行正常查询(针对表,而不是视图)时,这通常在大约 10 毫秒内执行。然而,一旦我创建了这个视图,它似乎在做任何其他事情之前对每一行GROUP BY
进行聚合,所以即使我获取一个 ID,查询仍然需要大约 5 分钟才能运行,从而使视图完全无法使用。在 mysql 中有没有办法解决这个问题,还是我只需要让最终用户访问所有这些表来执行查询而不是视图?
(我想另一种选择是在没有的情况下创建视图,GROUP BY
然后告诉用户“您必须附加此GROUP BY a.id
功能才能使查询正常工作,否则您将得到垃圾结果。”)
我读过的唯一处理这个问题的是mysql8中提供的下推:https ://dev.mysql.com/doc/refman/8.0/en/derived-condition-pushdown-optimization.html ,但也许我'我在这里遗漏了一些东西(手指交叉),有一种简单的方法可以做到这一点!
这是解释计划:
在派生表上扫描的765375
行似乎是杀手。
c# - 使用两个数据库时,实体框架实体类型“未映射 CustomerSpendings”
我有这个项目,它存在于两个单独的实例中(一个源代码,两个使用它自己的数据库的不同实例)。其中一个数据库有这个名为 CustomerSpendings 的视图,另一个没有。使用实体框架并尝试“从数据库更新模型”时出现此错误:
错误 11007:未映射实体类型“CustomerSpendings”。
这是意料之中的,因为只有一个数据库具有该值。所以。解决此问题的最佳方法是什么。在数据库中创建一个“空”视图(得到错误)或尝试在代码中做一些解决方法?
sql - Ruby on Rails 将 Timescale SQL 速率代码转换为 Ruby
我正在尝试使用 timescale 中的 Rate 函数来生成图形数据。现在我有一个数据库视图,它使用下面来自 TimescaleDocs 的 SQL 代码中的概念来执行此操作:
有没有办法将其直接转换为时间序列模型中的 ruby 代码以改善运行时?
django - 在 django 中创建 postgresql 视图
我想使用 postgresql 视图将查询集的中间结果存储在 django 中。
有没有在 django 中创建视图的好方法?
下面是我想要的流程代码!
sql - 索引视图实际上索引了什么
据我了解,SQL 视图代表“虚拟表”,其中数据实际上保存在视图引用的其他“后备表”中。可以将索引添加到视图以提高性能,但是如果视图只是一个虚拟表,这些索引实际上引用了什么?(它是后备表上的主键还是什么?)
想象一个由SELECT * FROM bookings WHERE IsDeleted=0表示的视图,带有一个关于bookings.AppointmentDate的索引 ...索引可能按约会日期排序(以便于搜索),并且每个索引叶保存该数据所在的行号在视图中......这会起作用......直到预订发生变化并且一些已删除的预订现在未被删除,建议的索引将保持未对齐。
另一种方法是让索引视图现在实际上是预订表的“分身”,因此它是物化的而不是虚拟的。现在索引可以引用分身拥有的任何主键,因此当预订被取消删除时不会中断。但同样,如果预订表发生变化,这个分身器必须“发现”它应该具有的新行(如未删除的预订)以及在返回结果之前需要从自身中删除的行,这在餐桌上不会很昂贵更新否定了使用索引视图的可能好处?
我试图了解索引视图是如何在幕后工作的。
sql - 从 3 个表返回结果,其中结果数应等于表 1 中的行数乘以表 3 中的行数
我有一个包含三个表的 PostgreSQL 数据库:
user
:应用程序的用户列表。主键是user_id
.course
:用户可以注册的课程目录。主键是course_id
.enrollment
:用户注册课程的记录。主键是enrollment_id
.
表之间的关系:
该
enrollment
表有两个不能为空的外键:enrollment.user_id
参考资料user.user_id
。enrollment.course_id
参考资料course.course_id
。
如果
user1
被注册course1
,表中应该只有一条记录enrollment
可以用来user1
连接course1
。如果
user1
未注册,则表中不存在要加入的记录。course1
enrollment
user1
course1
问题:
- 我不知道如何编写一个数据库视图,如果我有 2 个用户和 3 个课程,它会返回 6 行,如下所示:
一些上下文:
- 我无法更改有关数据库的任何内容。
- 我不关心性能。
我正在进行的工作:
我坦率地希望这会奏效:
由于没有enrollment
用户未注册的课程的记录,因此此查询不会返回我期望的结果。例如,结果看起来更像这样:
这不是我所期望的,因为我希望表返回 3 条记录user1
,他们没有参加任何课程,而不是只有一行 wherecourse_id
和enrollment_id
are null
。user2
同样,由于他们没有注册,所以缺少第三条记录course3
,这不是我所希望的。
我怎么解决这个问题?