поиск mysql с множественным запросом

Тема в разделе "Как сделать...", создана пользователем Uzz, 13 дек 2009.

Статус темы:
Закрыта.
  1. Uzz

    Uzz Постоялец

    Регистр.:
    3 янв 2007
    Сообщения:
    92
    Симпатии:
    45
    Задача такая
    есть база, например 1 поле там - imya содержит такие значения 22334:55667 итд в таком формате записи. Есть поисковый запрос вида <rtfm:22334:55667>,<rtfm:44556:78899>,<rtfm:1111:22222> итд. Собственно задача - при таком запросе - вывести только то, что имеется в базе при совпадении.
    Решение, которое представляется мне: во первых очищаю запрос от запятых скобок итд и вношу в одномерный массив. Далее в цикле по размеру массива прогоняю поиск
    SELECT * FROM taba WHERE imya = '22334:55667'
    результаты опять в массив и после вывод общего результата поиска.
    Так что думаю - какая проблема может возникнуть - нагрузка на базу будет колоссальная - ведь от одного запроса будет возникать целая куча побочных запросов. Может как индекс настроить в базе? Или в принципе алгоритм переосмыслить чтобы за один проход собирал результаты?
    База на 35 тысяч таких записей. Поиск только полное совпадение.
    :thenks:
     
  2. blet

    blet Постоялец

    Регистр.:
    8 май 2007
    Сообщения:
    105
    Симпатии:
    16
    индекс это хорошо, но если ресурсы позволяют я юзаю
    huge настройки в файле
    my.cnf,
    я использовал базу более 600тыс записей типа твоего,
    пару сек делалось 1000 поисков,
    если по умолчанию my.cnf комп уходил в глухой даун
     
    Uzz нравится это.
Статус темы:
Закрыта.