私はこれを見ています。
最大10,000行を返し、通常はメモリをいっぱいにするクエリがあります
私は現在やっています:
$this->db->get()->result_array();
すべてのデータをメモリにロードせず、ある種のカーソルを使用する方法はありますか?結果と結果配列は両方とも配列のようです。(1つはオブジェクトの配列で、もう1つは配列の配列です)
私はこれを見ています。
最大10,000行を返し、通常はメモリをいっぱいにするクエリがあります
私は現在やっています:
$this->db->get()->result_array();
すべてのデータをメモリにロードせず、ある種のカーソルを使用する方法はありますか?結果と結果配列は両方とも配列のようです。(1つはオブジェクトの配列で、もう1つは配列の配列です)
私が個人的にお勧めする Active Record を使用してlimit()
いる場合は、探しているものが得られるはずです。
$this->db->limit();
この方法で使用することもできます。コードの行数が少なくなり、少し簡単になります。
$query = $this->db->get('Table_Name', 50); //syntax db->get('Table',limit_val);
return $query->result();
オフセット付きの制限を返すこともできます:
$this->db->limit(10, 20); // Second parameter lets you set a result offset
アクティブ レコード クエリの詳細なヘルプへのリンク https://www.codeigniter.com/userguide2/database/active_record.html#select
Mysql オフセットは、探しているポインターです。次のように使用できます。
$this->db->get(tableName,10,20);
2 番目のパラメーターと 3 番目のパラメーターは、 limit と offset を設定するのに役立ちます。