- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
День добрый господа, подскажите следующий вопрос, как реализовать выборку из БД следующего вида: http://sqlfiddle.com/#!9/f62496/2
Что мы имеем:
1. Таблица записей
2. Таблица категорий
3. Таблица связи записей с категориями
Почти у всех записей по несколько категорий.
Необходимо реализовать 3 максимально быстрых MySQL запроса и проставить индексы:
1. Выборка 10 записей с определенной категорией, например 2, сортировка по полю date и условие date <= 1491502307 AND approve = 1
2. Выборка 10 записей в которых присутствуют одновременно три категории, например 2,4,6 (количество категорий может быть разное), с сортировкой по убыванию количества совпадений условие (date <= 1491502307 AND approve = 1) пример: http://sqlfiddle.com/#!9/f62496/2
3. Какие индексы нужно проставить для ускорения выборки ?
Решения есть, но кажется что они далеко не идеальные.
Тему отредактировать уже нельзя, потом вот структура таблицы и мои варианты решения, а так же исправление второго пункта:
1. http://sqlfiddle.com/#!9/aa8497/27
2. Выборка 10 записей в которых присутствуют одновременно три категории, например 2,4,6 (количество категорий может быть разное), с сортировкой по убыванию количества совпадений. Условие (date <= 1491502307 AND approve = 1) пример: http://sqlfiddle.com/#!9/aa8497/4. В данном примере выборка производится по трем категориям (может быть и более) и записи из бд выводятся сортируясь по количеству совпадений, по убывающей. Это максимум что я смог сделать.
фидл не грузится нифига, лень ждать и отвечать
вам бы на более специализированны ресурсик - стаковерфлов.
там ответят.