2

我在 MySQL 中有一个表,其结构如下:

id int(10) PRIMARY,
app_no varchar(255)

和字段 app_no 上INDEX appno_index的类型BTREE

现在这个表中有 900000 + 条记录。我正在使用 CodeIgniter 模型列出记录。我对 CodeIgniter 中记录列表的查询是

$query = $this->db->query("SELECT id, app_no FROM `app_no` USE INDEX(appno_index)");

但是 MySQL 会抛出这样的错误。

致命错误:第 162 行 C:\wamp\www\~\system\database\drivers\mysql\mysql_result.php 中允许的内存大小为 134217728 字节已用尽(尝试分配 24 字节)

如何使用任何东西优化我的查询,以便页面显示所有记录?

4

2 回答 2

2

尝试添加LIMIT 0 , 30到查询的末尾,其中第一个0是偏移量(从哪里开始获取行),第二个30是要获取的行数。

于 2012-10-11T09:33:16.047 回答
2

单页上显示的记录太多了。

考虑改用 CodeIgniter 的分页库

于 2012-10-12T04:28:13.977 回答