我们是否使用查询处理程序?如果是这样,它将为我们执行哪些任务?

时间:2020-03-06 14:40:48  来源:igfitidea点击:

几个月前,我的工作部署了一个内部函数,该函数包装了带有添加选项和功能的标准php,mysql_query()函数。一个示例功能是一些我们可以打开/关闭的便捷调试工具。

我想知道查询处理程序的流行程度以及人们喜欢在查询处理程序中内置哪些功能。

解决方案

由于类似的原因,我使用了像MDB2,Zend_Db或者Doctrine这样的DBAL。主要是为了能够利用它提供的所有快捷方式,而并不是因为它支持不同的数据库。

例如,旧的:

<?php
$query  = "SELECT * FROM table";
$result = mysql_query($query);
if (!$result) {
  echo mysql_error();
} else {
  if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_obj($result)) {
      ...
    }
  }
}
?>

对(Zend_Db):

<?php
try {
  $result = $db->fetchAll("SELECT * FROM table");
  foreach($result as $row) {
    ...
  }
} catch (Zend_Exception $e) {
  echo $e->getMessage();
}
?>

恕我直言,更直观。

我们也在我的办公室实施了类似的操作。它被证明是提供其相关处理功能的工具的无价之宝。错误跟踪,预格式化的输出,还可以在MsSQL和MySQL之间用作" AL"。

除了上述功能之外,我认为进行一些低资源密集型性能监视或者跟踪也很酷。对于更大或者更复杂的数据集,查询可能会非常权重,并且能够实时监控(或者发布)查询对于大型网站上进行的任何优化都是有帮助的。

只是我的两分钱。