首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql视图与PHP查询

问Mysql视图与PHP查询
EN

Stack Overflow用户
提问于 2010-12-13 08:18:06
回答 5查看 19.4K关注 0票数 21

我正在开发一个网络应用程序,它涉及在各种列表中创建餐馆列表,比如"Joe's‘s必须访问的地方“。现在,对于每一家餐厅和列表,我在网站上显示了计算

计算Restaurant

  • Popularity of a list的流行度

目前,我在PHP中使用MySQL语句,但计划切换到MySQL视图,并在PHP中执行一个简单的select语句.

我的问题是,使用视图比用PHP编写sql查询有什么优缺点?。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-12-13 08:29:50

使用视图可以添加一个级别的抽象:您以后可能会更改表的结构,并且不必更改显示列表信息的代码,因为您仍然在查询视图(视图定义可能会改变)。

主要的区别是每次插入后都会更新视图,这样,每次查询视图时,数据都是“就绪”的,而使用自定义查询时,每次都会让MySQL计算所有内容(当然还有一些缓存)。

底线是,如果您的列表比查看的列表更新得少,那么在使用视图时,您将看到一些性能上的提高。

票数 16
EN

Stack Overflow用户

发布于 2010-12-13 08:31:45

我的完整答案将取决于以下几点(从应用程序的角度来看):

  • 您计划允许用户创建和共享这样的列表吗?
  • 用户可以创建任何类型的列表,或者仅仅通过将值插入现有的查询模板吗?

假设您有几个预定义的列表要显示:

使用视图具有以下几个优点:

  • 您的代码将更加简洁
  • 生成视图的查询不必每次都由mysql.

解析。

我不确定:我不认为mysql像Tomasz建议的那样缓存视图--我不认为视图包含“已经准备好的数据”。

一个缺点是,创建列表所涉及的逻辑进入数据库,而不是驻留在PHP代码中--这一点我非常反感。在我的世界里,数据库是用于数据的,代码是用于逻辑的。

干杯

票数 4
EN

Stack Overflow用户

发布于 2012-08-03 03:48:24

最初的问题是关于正反两方面的,但到目前为止,在答案中并没有看到太多的缺点。

视图的一个缺点不是它们可以给您运行简单查询带来的虚假安慰吗?例如,从myview中选择username,其中id='1‘看起来很简单,但是如果"myview“是一个非常复杂的SELECT .也许甚至建立在其他观点之上?最后,您会有一个简单的查询,而在后台,这个查询所需的工作量要比从头开始编写查询所花费的工作量多得多。

我一直在尝试各种观点,尽管有好处,但还没有完全售出。我想听听其他人对“视图的缺点”( of Views )的看法,而不仅仅是关于视图为何如此伟大的党派观点。可能还是会做出改变,但想了解更多关于性能的知识。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4426919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档