codeigniter mysql视图与查询

codeigniter mysql视图与查询,mysql,performance,codeigniter,activerecord,query-optimization,Mysql,Performance,Codeigniter,Activerecord,Query Optimization,我正在使用Codeigniter进行开发,当涉及到复杂的数据库查询时 我正在使用 $this->db->query('my complicated query'); 然后使用$query->result()将其转换为对象数组 到目前为止,它是非常好和有用的 现在我的问题是 如果我想创建mysql视图并从中选择,该怎么办?意志 $this->db->from('mysql_view') 是否将mysql视图视为一个表 如果我这样做了,在性能上会有什么不同吗?视图是否比正

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

$this->db->query('my complicated query');
然后使用
$query->result()将其转换为对象数组

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

现在我的问题是

  • 如果我想创建mysql视图并从中选择,该怎么办?意志

    $this->db->from('mysql_view')
    
    是否将mysql视图视为一个表

  • 如果我这样做了,在性能上会有什么不同吗?视图是否比正常的数据库查询快

  • Codeigniter和MYSQL数据库处理复杂查询的最佳实践是什么?据我所知,ActiveRecord只是一个查询生成器,而且在一些测试中甚至会稍微慢一点

  • 提前谢谢你的建议

  • MySQL视图的查询方式与表相同,顺便说一句,表和视图不能共享相同的名称
  • 根据您在视图中使用的查询,视图可以在内部缓存,因此从长远来看,它们会更快
  • 在这种情况下,最好的做法是使用您觉得对您自己和您的团队容易使用的任何东西,我个人坚持使用
    $this->db->query()我发现,将此类简单查询更改为具有一些高级功能(如子查询或其他使用CI query builder很难和/或不可能实现的功能)更容易。我的建议是坚持一种查询方式——如果您使用
    ->query()
    ,那么就在任何地方使用它们;如果您使用查询生成器,那么就在任何可能的地方使用它来获得结果

  • 感谢@Vlakardos的回复,我只想确认
    $this->db->from(“”)
    是否会正常查看名称?CodeIgniter ActiveRecord没有任何魔力,它只是为您构建一个查询字符串,所以是的,它会