codeigniter mysql视图与查询

Ahm*_*amy 4 mysql performance activerecord codeigniter query-optimization

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

$this->db->query('my complicated query');
Run Code Online (Sandbox Code Playgroud)

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

到目前为止它非常好用

现在我的问题是

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

    $this->db->from('mysql_view')
    
    Run Code Online (Sandbox Code Playgroud)

    把mysql视图看成是不是表?

  2. 如果我这样做,那么性能上的差异会比正常的数据库查询更快吗?

  3. Codeigniter和MYSQL数据库处理复杂查询的最佳做法是什么,因为我理解ActiveRecord只是查询构建器,而且有些测试它甚至有点慢

在此先感谢您的建议

Ser*_*sky 5

  1. 查询MySQL视图的方式与表相同,在旁注中,您不能拥有表和视图共享相同的名称.
  2. 取决于您在视图中使用的查询,视图可以在内部缓存,因此从长远来看 - 是的,它们更快.
  3. 在这种情况下的最佳做法是使用你觉得易于使用的任何东西给你自己和你的团队,我个人坚持使用,$this->db->query();因为我发现更容易更改这种简单的查询,以获得一些高级功能,如子查询或其他东西CI查询构建器很难和/或不可能.我的建议是坚持使用一种查询方式 - 如果你使用->query(),然后在任何地方使用它们,如果你使用查询构建器,那么在任何可能的地方使用它来使用它.