Кэширование результатов выполнения хранимых процедур

Тема в разделе "PHP Pro", создана пользователем PeRsoNaliTy, 8 фев 2013.

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

    PeRsoNaliTy Постоялец

    Регистр.:
    5 фев 2009
    Сообщения:
    79
    Симпатии:
    9
    Добрый день.
    Есть такая проблема, организован поиск основы слова с помощью хранимой процедуры, таблицы очень большие некоторые имеют более 400 тыс. записей и поэтому поиск некоторых основ занимает от 50 секунд до 6 минут. Хотелось бы кэшировать результаты поиска.
    Что скажете по этому поводу. Стоит ли вообще это делать и как это реализовать?
    В интернете нахожу информацию по кэшированию запросов, а как поступить с хранимыми процедурами понять не могу.
    Заранее благодарен.

    UPD 13 февраля в 19:43
    Тему можно прикрыть.
    Проблема решена тем, что оптимизировали процесс поиска теперь он выполняется меньше секунды, а все из-за того что у таблиц кое кто забыл поставить индексные поля.
     
  2. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.039
    имеется ввиду хранимая процедура mysql ??

    что мешает складывать результаты запросов в отдельную таблицу примерно такого вида

    md5 запроса | результат

    и перед запуском процедуры проверять наличие готового ответа в этой таблице ...
     
    PeRsoNaliTy и ВладимирТрой нравится это.
  3. PeRsoNaliTy

    PeRsoNaliTy Постоялец

    Регистр.:
    5 фев 2009
    Сообщения:
    79
    Симпатии:
    9
    Ее результат

    Кстати хороший вариант. Еще после выполнения процедуры результат заносить в эту таблицу.
     
  4. olivok

    olivok

    Регистр.:
    13 ноя 2012
    Сообщения:
    159
    Симпатии:
    98
    А почему не вынести поиск в отдельную службу? В тот же SOLR или Sphinx? С кэшированием вызовом процедур получается какой-то неестественный костыль.
     
Статус темы:
Закрыта.