CodeIgniter MySQL запрос использует слишком много памяти - Как я могу использовать MySQL SSCursor? - PullRequest
1 голос
/ 21 октября 2011

Я работаю над приложением, использующим CodeIgniter для доступа к базе данных.Приложение выдает такие запросы: $this->db->query("SELECT fields_list FROM table_name"); Но таблица содержит сотни тысяч записей.

CodeIgniter пытается загрузить весь набор результатов в память, в результате чего сценарий достигает предела памяти.* Способ обойти эту проблему - использовать SSCursor API libmysqlclient, но я не вижу ни одного примера CodeIgniter, использующего SSCursor.Есть ли способ использовать SSCursor MySQL в CodeIgniter?

1 Ответ

0 голосов
/ 21 октября 2011

Выполните цикл for и ограничьте количество записей, извлекаемых за один запрос.

Получить общее количество записей в таблице. Затем выполните:

for ($i=0; $i<=COUNT_OF_RECORDS; $i+=1000) {
     $sql = "SELECT fields_list FROM table_name LIMIT $i,1000";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...