Tar*_*run 20 php mysql sql architecture api
我正在开发一个Web应用程序,它涉及创建各种列表中的餐馆列表,例如"Joe必须访问的地方".现在为每个餐厅和列表,我在网站上显示计算
目前我在PHP中使用MySQL语句,但计划切换到MySQL VIEWS并在PHP中执行简单的select语句...
我的问题是, 使用VIEWS而不是在PHP中编写SQL查询有什么优点/缺点?
Woo*_*kai 15
使用视图可以增加抽象级别:您可以稍后更改表的结构,而不必更改显示列表信息的代码,因为您仍将查询视图(视图定义可能会更改,虽然).
主要区别在于每次插入后视图都会更新,这样每当您查询视图时数据都"准备就绪",而使用自定义查询将使MySQL每次都计算所有内容(当然还有一些缓存).
最重要的是,如果您的列表的更新频率低于查看频率,您将看到使用视图时性能有所提高.
最初的问题是关于优点和缺点,但到目前为止,在答案中还没有看到太多缺点。
视图的一个缺点难道不是它们会给您运行简单查询带来的虚假舒适感吗?例如, SELECT username FROM myview WHERE id='1' 这看起来很简单,但是如果“myview”是一个非常复杂的 SELECT 该怎么办...甚至可能构建在其他视图上?您最终会得到一个看起来简单的查询,但在后台,它比您从头开始编写查询要花费更多的工作。
我一直在尝试各种观点,尽管有好处,但尚未完全出售。我很想听听其他人对Views缺点的看法,而不仅仅是党派关于为什么 Views 如此出色的路线。可能仍会进行转换,但想了解更多有关性能的信息。