php – 创建视图或使用内联?

前端之家收集整理的这篇文章主要介绍了php – 创建视图或使用内联?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个规范的数据库,外键/主键给一个数据库.

我计划使用PHP访问这个数据库,用于基本的前端/后端显示.现在,我的问题来自这两个示例查询

CREATE VIEW `view` AS
  SELECT
    functiondetails.Detail,functionnames.ID,functionnames.FunctionName,functionnames.Catogory
  FROM functiondetails
    INNER JOIN functionnames ON functiondetails.AsscID = functionnames.ID

要么

SELECT
  functiondetails.Detail,functionnames.Catogory
FROM functiondetails
  INNER JOIN functionnames ON functiondetails.AsscID = functionnames.ID

查询中没有错误,因为我一直都没有运行,但我的整体问题是这样的:

如果我打算不断地从我的数据库中引用很多信息.创建视图不会更容易,然后会随着新添加的信息更新,或者更好的做法是在我的实际PHP上进行第二个查询.示例:

$Query = $MysqLi->prepare("
  SELECT
    functiondetails.Detail,functionnames.Catogory
  FROM functiondetails
    INNER JOIN functionnames ON functiondetails.AsscID = functionnames.ID
")
$Query->execute();
$Results = $Query->fetch_results();
$Array = $Results->fetch_array(MysqLI_ASSOC);

还是从我的角度选择?

$Query = $MysqLi->prepare("SELECT * FROM `view`");
$Query->execute();
$Results = $Query->fetch_results();
$Array = $Results->fetch_array(MysqLI_ASSOC);

那么哪一个更好的方法用于查询我的数据库

Viewsabstraction layer,创建抽象层的通常原因是为您提供一个使您的生活更轻松的工具.

使用视图的一些重要优点包括

>安全
您可以控制谁拥有访问权限,而无需授予他们对基础表的访问权限.
>澄清
通常情况下,列标题的描述不一样.视图允许您添加清晰的返回数据.
>表现
表现明智,意见不会对你造成负面伤害.但是,您不会因为MysqL不支持materialized views而使用视图来获得性能提升.>轻松编码视图可以用于重复使用复杂的查询,用户错误的空间较小.>易于管理当您的表格模式发生变化时,它将使您的生活更轻松.例如,假设您有一张包含您要出售的房屋的房屋,homes_for_sale,但后来您决定要让该桌子处理您曾经出售/出售的所有房屋,目前都是出售所有房屋.显然,新表的模式与第一个方案有很大的不同.如果您从homes_for_sale中提取了大量查询,那么现在您必须遍历所有代码并更新所有查询.这将打开您的用户错误和管理噩梦.更好地解决这个变化的方法是用相同名称的视图替换表.该视图将返回与原始表完全相同的模式,即使实际模式已更改.然后,如果需要,您可以按照自己的速度浏览代码,并更新查询调用.

原文链接:https://www.f2er.com/php/139849.html

猜你在找的PHP相关文章