4

我跟笨使用$query->result();笨MySQL的观点VS查询

,到目前为止,这是非常好的发展,当它到达复杂的数据库查询 我使用

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

然后转换为对象的数组和有用的即时

我的问题是

  1. 如果我想创建mysql视图并从中选择,该怎么办?请问

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

    把mysql视图看成是表格吗?

  2. 如果我这样做会有什么区别的表现是比正常的数据库查询更快的意见?

  3. 什么是用笨和MYSQL数据库处理复杂查询的最佳做法,据我所知,ActiveRecord的只是查询构建器和一些测试中,它甚至有点慢

预先感谢您的意见

回答

5
  1. MySQL视图以与表格相同的方式被查询,在旁注中,不能有表格和视图共享相同的名称。
  2. 取决于您在视图中使用的查询,视图可以在内部进行缓存,因此从长远来看 - 是的,它们更快。
  3. 这种情况下的最佳做法是使用任何你认为对自己和你的团队易用的东西,我个人坚持使用$this->db->query();,因为我发现改变这种简单的查询更容易,查询或其他难以和/或不可能用CI查询构建器做的事情。我的建议是坚持一种查询方式 - 如果您使用​​,那么在任何地方都可以使用它们,如果您使用查询构建器,则可以在任何可能的地方使用它来实现结果。
+0

感谢@Vlakardos的回复,我只是想确认'$ this-> db->('')'是否会正常显示视图名称? –

+1

CodeIgniter ActiveRecord没有任何魔力,它只是为你建立一个查询字符串,所以是的,它会 –