prof.seo
Постоялец
- Регистрация
- 25 Мар 2009
- Сообщения
- 60
- Реакции
- 20
- Автор темы
- #1
Час добрый,
осваеваю пхп, дошел до баз данных, нужна помощь!)
Есть необходимость написать скрипт - парсер бд, который будет осуществлять поиск регулярного выражения по заданному полю таблицы и записывать результат в файл. Специфика заключается в том, что размер таблицы ~150мб. На данный момент решение такое:
В таблице >50000 записей, получается, что мой скрипт сделает столько же запросов - это очень долго и помоему не очень рационально.
Возможно ли за один запрос получить содержимое нескольких полей?
Те получить содержимое поля $Field для записей с 1 по 30 в массив. Основная цель - повышение КПД) - уменьшить кол-во обращений к БД, повысить скорость выполнения скрипта, ну и в этом духе все)
Буду благодарен за любую помощь по сабжу!)
осваеваю пхп, дошел до баз данных, нужна помощь!)
Есть необходимость написать скрипт - парсер бд, который будет осуществлять поиск регулярного выражения по заданному полю таблицы и записывать результат в файл. Специфика заключается в том, что размер таблицы ~150мб. На данный момент решение такое:
PHP:
$DBQuery = mysql_query("SELECT * FROM tbl1");
$Field = 'fieldname';
for ($c=0; $c<mysql_num_rows($DBQuery); $c++)
{
$FieldContent = mysql_result ($DBQuery, $c, $Field);
preg_match_all("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,4}/i",$FieldContent, $Result);
for($ResultCount=0; $ResultCount < count($Result[0]); $ResultCount++)
{
WriteString ($Result[0][$MailsCount]);
}
}
В таблице >50000 записей, получается, что мой скрипт сделает столько же запросов - это очень долго и помоему не очень рационально.
Возможно ли за один запрос получить содержимое нескольких полей?
Те получить содержимое поля $Field для записей с 1 по 30 в массив. Основная цель - повышение КПД) - уменьшить кол-во обращений к БД, повысить скорость выполнения скрипта, ну и в этом духе все)
Буду благодарен за любую помощь по сабжу!)