[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оптимизация системы исключения на основе фильтра
artlayers
Добрый день. Есть такая задача. Есть сайт, на каждой его странице есть много названий (назовем текстовая метка), скажем, 100 таких меток на каждой странице. Запросов в минуту к сайту не менее 150. Задача состоит в том, что нужно выводить только те текстовые метки, которые не попадают под определенный фильтр слов, причем по маске %LIKE%. Список стоп-слов состоит примерно из 150 штук. Как понимаете, нужно каждую метку проверить 150 раз соответственно и как только находится совпадение цикл проверки текущей метки прервать и перейти к следующей. Если на странице 100 меток, то проверок будет 100*150=15.000 при 150 запросах в минуту, таких проверок будет ~2.250.000. Сравнение на данный момент делаю через strpos, работает, конечно, не быстро, но и не сказать что медленно. Список стоп-слов содерждится сейчас в подключаемом php файле в виде одномерного массива. Есть мысль перенести его в БД, где каждая строка будет содежать одно стоп-слово. Но вопрос - ускорит ли это процесс? У кого есть мысли как оптимизировать данный процесс? Спасибо заранее.
Игорь_Vasinsky
вроде бы должно ускорить

убирается логика из php и переносится в SQL - но не новым запросом, а запросом в +1 таблицу

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
SlavaFr
Если после изменения страицы произвести ее кеширование, то вроде все не так и страшно.

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.