当前位置:  开发笔记 > 后端 > 正文

视图如何在DBM中工作?

如何解决《视图如何在DBM中工作?》经验,为你挑选了1个好方法。

假设我有两个这样的表:

Employers (id, name, .... , deptId).
Depts(id, deptName, ...).

但是这些数据不会经常被修改,我想要这样的查询

SELECT name, deptName FROM Employers, Depts 
    WHERE deptId = Depts.id AND Employers.id="ID"

尽可能快.

我的脑子里有两种可能的解决方案:

对表进行非规范化:

尽管有了这个解决方案,我将失去一些"标准化数据库的巨大优势,但这里的性能是必须的.

为该非规范化数据创建视图.

我将保持数据规范化(这是我的问题),如果没有该视图,对该视图的查询性能将更快.

或者另一种问同样问题的方法,每次你对它进行查询时,视图都是"解释",或者如何在DBA中使用视图Stuff?



1> Ian Varley..:

通常,除非您"实现"某个视图(在MS SQL Server等某些软件中是一个选项),否则视图只会转换为对基表的查询,因此不会比原始视图更快或更慢(减去极小的数量)翻译查询所需的时间,与实际执行查询相比没什么用.

你怎么知道你有性能问题?你在负载下分析它吗?您是否验证了性能瓶颈是这两个表?通常,在您获得硬数据之前,不要假设您知道性能问题的来源,并且在您知道正在优化正确的事情之前不要花费任何时间进行优化 - 80%的性能问题来自20代码的百分比.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有