Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Igor S Chencov                       2:5020/400     22 Aug 2002  15:58:49
 To : Artem Chuprina
 Subject : Re: DBI, DBD или MySQL?
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina <ran@ice.ru> wrote:
 AC: Здравствуй, Eugene Grosbein.
 
 EG>> Есть таблица в MySQL на 8.5 миллионов строк, полгигабайта данных и еще
 EG>> 370M индексов, по сути - большой лог для select'ов.
 EG>> Выяснилось, что часть строк некорректна в смысле задачи, надо их
 EG>> найти, вывести (и удалить, но это потом). Есть критерий, как искать,
 EG>> выражается простым select'ом с where плюс небольшая post-обработка.
 EG>> Таблица в MyISAM-файле.
 
 EG>> Если пробую делать по man DBI (prepare, execute, fetch, fetch...),
 EG>> то вижу, что execute длится очень долго, причем похоже на то, что
 EG>> perl собирается всю базу в память засосать, прежде чем выйти из fetch.
 EG>> Как ему отвыкнуть? Я бы хотел по одной строке обрабатывать, в цикле
 EG>> fetch делая.
 
 EG>> И кто виноват - subj?
 
 AC: Особенность DBD::MySQL, скорее всего, наведенная нижележащей библиотекой.
 AC: Документированная, AFAIR.
 
 Вряд ли ... Вернее сказать правильно, но ситуацию не проясняет :-)
 
 Все дело в execute - по этой команде любая клиент-серверная SQL база выполняет
 Select (т.е. практически ты делаешь select как из MySQL monitor) - а затем
 по fetch тебе выдаются порциями отобранные строки. 
 
 Выводов 2 -
 1. Оптимизировать запрос (может добавлением нового индекса)
 2. Использовать какой-нибудь фокус (если он есть) MySQL для последовательной
 обработки таблицы ...
 
 Bye !
 P.S. Сам я не специалист по MySQL - но для Oracle поведение DBD будет то же
 самое ...
 -- 
 -= Игорь Ченцов - системный администратор   |         =-
 -= E-mail chs<at>aquilon.ru        |  АКВИЛОH      =-
 -= г. Архангельск          |       =-
 --- ifmail v.2.15dev5
  * Origin: Internet-Arkhangelsk Company (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: DBI, DBD или MySQL?   Artem Chuprina   22 Aug 2002 14:25:14 
 Re: DBI, DBD или MySQL?   Igor S Chencov   22 Aug 2002 15:58:49 
 Re: DBI, DBD или MySQL?   Artem Chuprina   22 Aug 2002 16:43:34 
Архивное /ru.perl/45964da69b9e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional