2

MySQL に次の構造のテーブルがあります。

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

およびフィールド app_noINDEX appno_indexのタイプBTREE

現在、このテーブルには 900000 + レコードが含まれています。CodeIgniter モデルを使用してレコードを一覧表示しています。CodeIgniter のレコードのリストに関する私のクエリは次のとおりです。

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

しかし、MySQL はこのようなエラーをスローします。

致命的なエラー: C:\wamp\www\~\system\database\drivers\mysql\mysql_result.php 行 162 で、134217728 バイトの許容メモリ サイズが使い果たされました (24 バイトを割り当てようとしました)

ページにすべてのレコードが表示されるように、何かを使用してクエリを最適化するにはどうすればよいですか?

4

2 に答える 2

2

LIMIT 0 , 30クエリの最後に追加してみてください。最初0はオフセット (行のフェッチを開始する場所) で、2 番目30はフェッチする行の量です。

于 2012-10-11T09:33:16.047 に答える
2

これは、1 ページに表示するには多すぎるレコードです。

代わりにCodeIgniter のページネーション ライブラリの使用を検討してください。

于 2012-10-12T04:28:13.977 に答える