4

私は Codeigniter で開発しており、複雑なデータベースクエリになると使用しています

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

次に、を使用してオブジェクトの配列にキャストします$query->result();

これまでのところ、非常に優れていて便利です

今私の質問は

  1. mysql ビューを作成してそこから選択したい場合はどうすればよいですか? 意思

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

    mysqlビューをテーブルとして使用するかどうか

  2. そして、それを行うと、パフォーマンスの違いは通常のデータベースクエリよりもビューが速くなりますか?

  3. ActiveRecordは単なるクエリビルダーであり、一部のテストでは少し遅いことを理解しているため、複雑なクエリを処理するCodeigniterおよびMYSQLデータベースのベストプラクティスは何ですか?

事前にアドバイスをありがとう

4

1 に答える 1

5
  1. MySQLビューはテーブルと同じ方法でクエリされますが、補足として、テーブルとビューで同じ名前を共有することはできません。
  2. ビューで使用するクエリに応じて、ビューは内部的にキャッシュできるため、長期的にはより高速になります。
  3. この場合のベストプラクティスは、自分自身とチームにとって使いやすいと思うものを使用すること$this->db->query();です。この種の単純なクエリを変更して、サブクエリなどの高度な機能を使用する方が簡単だと思うので、私は個人的に使用し続けます。これは、CIクエリビルダーで実行するのが困難および/または不可能です。私のアドバイスは、クエリの1つの方法に固執することです。を使用する->query()場合は、どこでも使用し、クエリビルダーを使用する場合は、それを使用して結果を達成できる場所であればどこでも使用します。
于 2012-12-14T09:23:23.027 に答える