Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с оптимизацией двух MqSQL запросов 
:(
    Опции темы
AlexBell
Дата 1.12.2012, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.12.2012

Репутация: нет
Всего: нет



Добрый день. 
Подскажите, пожалуйста, с решением задачки по оптимизации пары запросов к 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 и вы готовы помочь, мы можем обсудить подробности и договориться о платной консультации, например.
PM MAIL   Вверх
Akina
Дата 1.12.2012, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Это - во фриланс


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tzirechnoy
Дата 3.12.2012, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 3
Всего: 16



Цитата
Мы этот запрос сделали, но он работает очень медленно. 


Товарищи учёные! У меня в подвале третий год происходит подземный стук. Объясните пожалуйста, отчего и почему он происходит.
PM MAIL   Вверх
Akina
Дата 3.12.2012, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Вот и мне кажется, что это сам горе-программист пишет...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
AlexBell
Дата 3.12.2012, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.12.2012

Репутация: нет
Всего: нет



tzirechnoy

Описание выше может быть немного запутанным, но если у вас есть хороший опыт в MySQL и вы готовы помочь, мы можем обсудить подробности и договориться о платной консультации

Добавлено @ 13:33
нет, это не горе программист. Потому не могу вам дать подробную техническую какуюто информацию, т.к. не силён в программмировании.

Могу задачу объяснить и показать, запрос, который у нас уже есть. Но было бы правильнее это делать уже лично, договорившись об условиях, а не в общем форуме.

Это сообщение отредактировал(а) AlexBell - 3.12.2012, 13:34
PM MAIL   Вверх
Akina
Дата 3.12.2012, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(AlexBell @  3.12.2012,  14:31 Найти цитируемый пост)
Описание выше может быть немного запутанным

Оно - просто никакое. Что есть, что нет...

Цитата(AlexBell @  3.12.2012,  14:31 Найти цитируемый пост)
нет, это не горе программист. Потому не могу вам дать подробную техническую какуюто информацию, т.к. не силён в программмировании.

Тогда дайте по башке программисту - пусть он сам выложит задачу. Грамотным техническим языком.

Цитата(AlexBell @  3.12.2012,  14:31 Найти цитируемый пост)
было бы правильнее это делать уже лично, договорившись об условиях, а не в общем форуме.

Уже один раз же сказал, кажется - такие вещи во фрилансе обсуждают. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
tzirechnoy
Дата 3.12.2012, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 3
Всего: 16



Цитата
Вот и мне кажется, что это сам горе-программист пишет...


У меня как-то и мысли не возникло, что это можэт быть кто-то ещё.

Но я не про горе- (все мы когда-то начинали). Я про то, что это уметь надо -- сделал задачу, просит помощи в оптимизацыи, но не показал, как он это сделал.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0973 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.