4

我正在使用 Codeigniter 进行开发,当它涉及到我正在使用的复杂数据库查询时

$this->db->query('my complicated query');

然后使用转换为对象数组$query->result();

到目前为止它非常好用

现在我的问题是

  1. 如果我想创建 mysql 视图并从中选择怎么办?将要

    $this->db->from('mysql_view')
    

    将 mysql 视图视为表或不是表?

  2. 如果我这样做,性能上的任何差异是视图比普通数据库查询更快吗?

  3. Codeigniter 和 MYSQL 数据库处理复杂查询的最佳实践是什么,因为我知道 ActiveRecord 只是查询构建器,并且作为一些测试它甚至会慢一点

提前感谢您的建议

4

1 回答 1

5
  1. MySQL 视图的查询方式与表的查询方式相同,附带说明,您不能让表和视图共享相同的名称。
  2. 取决于您在视图中使用的查询,视图可以在内部缓存,因此从长远来看 - 是的,它们更快。
  3. 在这种情况下,最佳实践是使用您认为易于为您自己和您的团队使用的任何东西,我个人坚持使用$this->db->query();,因为我发现将此类简单查询更改为具有一些高级功能(如子查询或其他东西)更容易使用 CI 查询生成器很难和/或不可能做到这一点。我的建议是坚持一种查询方式 - 如果您使用->query(),则在任何地方使用它们,如果您使用查询构建器,则在任何可能使用它来实现结果的地方使用它。
于 2012-12-14T09:23:23.027 回答