代码点火器大查询结果result_array()结果

Chr*_*nch 7 mysql codeigniter

我在看这个.

我的查询返回10,000行,通常会填满内存

我目前在做:

$this->db->get()->result_array();
Run Code Online (Sandbox Code Playgroud)

有没有办法不将所有数据加载到内存中并使用某种游标?似乎结果和结果数组都是数组.(一个是对象数组,另一个是数组数组)

小智 7

如果你使用Active Record,我个人推荐,limit()应该达到你想要的.

$this->db->limit();

也可以这样使用,稍微简单一些,代码行少:

$query = $this->db->get('Table_Name', 50); //syntax db->get('Table',limit_val);
return $query->result();
Run Code Online (Sandbox Code Playgroud)

可以返回带偏移量的限制:

$this->db->limit(10, 20); // Second parameter lets you set a result offset
Run Code Online (Sandbox Code Playgroud)

有关Active Record Query的更多帮助的链接, 请访问https://www.codeigniter.com/userguide2/database/active_record.html#select