| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Помогите с оптимизацией двух MqSQL запросов |
| Автор: AlexBell 1.12.2012, 15:59 |
| Добрый день. Подскажите, пожалуйста, с решением задачки по оптимизации пары запросов к MySQL. Есть сайт, который ищет рецепты по ингредиентам. Каждому рецепту может выставлятся рейтинг. Собственно вопрос в двух запросах. 1. Запрос формирования облака ингредиентов На входе массив id ингредиентов (некоторые из них - обязательные), массив id исключенных ингредиентов, сложность (число от 1 до 5), время (число от 1 до 5), массив id сайтов, массив id типов кухонь, массив id типов блюд. На выходе нужно получить просто массив из 7 ингредиентов (id и название), определяется массив по следующим алгоритмам: - В верху списка показываются ингредиенты, при добавлении которых мы сможем получить больше рецептов (имея ввиду то, что уже было введено как исключения и ингредиенты ранее). Если таких ингредиентов нет, то вверху списка оказываются такие ингредиенты, при добавлении которых найдётся наибольшее количество рецептов, таких что нужно добавить ещё только один ингредиент чтобы их приготовить. - Далее ингредиенты сортируются по количеству поисков с данным ингредиентом за последние 90 дней. Чем больше поисков - тем выше ингредиент. Мы этот запрос сделали, но он работает очень медленно. Нужно, видимо, сделать заново или подсказать нам ходы оптимизации. 2. Запрос формирования результатов поиска На входе тут тоже самое На выходе общее число найденных рецептов, число уникальных сайтов (источников), ну и собственно массив рецептов. Каждый рецепт в массиве должен содержать данные: id, рейтинг (сейчас вычисляется подзапросом SELECT SUM(`rate`)/COUNT(1) FROM `rec_ratings` WHERE `rec_id`=%d), другие параметры рецептов Дайте знать, пожалуйста, если можете помочь по этому вопросу, можно личным сообщениеи или в почту [email protected]. Описание выше может быть немного запутанным, но если у вас есть хороший опыт в MySQL и вы готовы помочь, мы можем обсудить подробности и договориться о платной консультации, например. |
| Автор: Akina 1.12.2012, 19:30 |
| Это - во фриланс |
| Автор: tzirechnoy 3.12.2012, 13:05 | ||
Товарищи учёные! У меня в подвале третий год происходит подземный стук. Объясните пожалуйста, отчего и почему он происходит. |
| Автор: Akina 3.12.2012, 13:20 |
| Вот и мне кажется, что это сам горе-программист пишет... |
| Автор: AlexBell 3.12.2012, 13:31 |
| tzirechnoy, Описание выше может быть немного запутанным, но если у вас есть хороший опыт в MySQL и вы готовы помочь, мы можем обсудить подробности и договориться о платной консультации Добавлено @ 13:33 нет, это не горе программист. Потому не могу вам дать подробную техническую какуюто информацию, т.к. не силён в программмировании. Могу задачу объяснить и показать, запрос, который у нас уже есть. Но было бы правильнее это делать уже лично, договорившись об условиях, а не в общем форуме. |
| Автор: tzirechnoy 3.12.2012, 19:50 | ||
У меня как-то и мысли не возникло, что это можэт быть кто-то ещё. Но я не про горе- (все мы когда-то начинали). Я про то, что это уметь надо -- сделал задачу, просит помощи в оптимизацыи, но не показал, как он это сделал. |