2013-04-18 1 views
-2

Я использую метод fetchrow_array из модуля DBI для получения некоторых данных с помощью Perl.Имеет ли метод DBI fetchrow_array в Perl ограничение максимального размера?

Он извлекает максимум 850 000 строк, но фактический размер данных составляет 6,4 миллиона строк.

Что мне делать?

+3

Что вы должны сделать? У вас есть проблемы? Разве это не работает для вас? Метод 'fetchrow_array' имеет предел строки * one *: вы выбираете их по одному. – Borodin

+0

acutally он выбрал только 850000 строк. Обратные данные, которые будут возвращены, составляют около 6,4 миллиона строк. – user2295715

+0

он выбрал 85000 diff записей не одну запись 850 000 раз. Мне нужно получить 640,0000 записей – user2295715

ответ

1

Я предполагаю, что вы имеете в виду fetchall_arrayref, так как методы fetchrow_* возвращают 1 строку за раз.

Вы проверили на наличие ошибок, предложенных the documentation?

Если произошла ошибка, fetchall_arrayref возвращает данные, полученные до сих пор, которые могут быть ничем. Затем вы должны проверить $ sth-> err (или использовать атрибут RaiseError), чтобы узнать, завершены ли данные или были усечены из-за ошибки.

0

По-видимому, у fetchrow_array заканчивается память. Я вижу это в своем заявлении. Попробуйте выбрать OUTFILE.