codeigniter mysql视图与查询

时间:2012-12-14 09:16:12

标签: mysql performance codeigniter activerecord query-optimization

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

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

然后使用$query->result();

强制转换为对象数组

到目前为止,这是非常好的和有用的

现在我的问题是

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

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

    获取mysql视图,因为它是一张桌子?

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

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

  4. 提前感谢您的建议

1 个答案:

答案 0 :(得分:5)

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