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沒有任何魔力,它只是爲你建立一個查詢字符串,所以是的,它會 –