Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Многократный обход огромного массива данных
Форумы портала PHP.SU » » Вопросы новичков » Многократный обход огромного массива данных

Страниц (1): [1]
 

1. freelsd - 16 Октября, 2015 - 12:23:12 - перейти к сообщению
У меня есть большой массив на несколько миллионов записей. Нужно взять одно строку, выделить регекспом часть, потом проверить весь этот массив на количество вхождений этой части. Для быстроты работы массив я загружаю в память через file(), файл весит около 70мб. Но проблема в том что однократный обход массива занимает около 10 секунд, что катастрофически много. А таких записей, как я говорил несколько миллионов. Как быть в такой ситуации, возможно есть вариант ускорить обработку? Как вообще процессят такие объемы данных.
2. DeepVarvar - 16 Октября, 2015 - 17:16:00 - перейти к сообщению
Записать данные в БД и уже работать запросами.
3. freelsd - 16 Октября, 2015 - 18:00:05 - перейти к сообщению
DeepVarvar, в общем-то да, как вариант. А еще какие методы есть?
4. DeepVarvar - 16 Октября, 2015 - 21:00:27 - перейти к сообщению
Написать свою узкопрофильную БД/обертку над данными из файлов и работать через неё.

 

Powered by ExBB FM 1.0 RC1