回答

收藏

表与视图的性能

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

最近开始使用据库被用来为每个表创建一个视图。如果你假设表和视图之间有一对一的映射,我想知道是否有人能告诉我这样做的性能影响。顺便说一句,这是Oracle上。
$ R' ?" e- o5 l! I4 o8 N' t, E+ C6 M                                                                " C7 P8 C0 l, D6 P# k
    解决方案:                                                               
) |' p, ~5 W. r                                                                假设问题是关于非具体视图的,那么-
0 D' P. q1 w* |确实取决于该视图所基于的查询以及对其执行的操作。有时,谓词可以由优化器推入视图查询中。如果不是这样,那将不如表格本身好。视图建立在表格之上-
+ p  Q2 V4 `* e; U$ l* V3 u5 m3 Y为什么你期望性能更好?
3 B/ I2 R# M! [( V6 R# K; V分层视图(在视图上构建视图)是一种不好的做法,因为你必须等到运行才能知道问题。在分层视图中推送谓词的可能性也较小。
/ e/ [  |) P+ I% }4 ?还可以更新视图-如果有人有基础表,INSERT / UPDATE / DELETE特权不是限制访问资源的可靠方式。
1 p' A2 }" z5 u. `9 Y物化视图和表一样好,但众所周知,它们的支持范围是有限的。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则