- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Если по 3 полям индекс делаю, то выборка идет всех записей (rows в explain). А если делаю index+quantity и necessary, то rows в виде найденных и кака в виде Using where; Using temporary; Using filesort :D
Если по 3 полям индекс делаю, то выборка идет всех записей (rows в explain)
Для этого есть GROUP BY
PS
Ощущения дежавю. по моему я это уже где-то писал
Для этого есть GROUP BY
Не понял Вас - для чего :)
Если я правильно понимаю, то колонка ROWS в EXPLAIN означает количество записей по которым идет поиск.
Дак вот, в одном случае - где 3 поля в индексе, там фуллскан происходит. В случае с 2 полями индекса и 1 в групп бай, то там показывает ROWS = выбранные поля (ну типа индекс прошел гуд).
хм, написал, потом увидел что-то похожее выше:
SELECT necessary_field, COUNT(necessary_field) 'checked' FROM test_table WHERE (index_id=15 AND quantity=4) OR (index_id=19 AND quantity=2) GROUP by necessary_field HAVING checked=2;
где checked=2 (количество проверяемых атрибутов, т.е. 2 значит 2 и т.п. )
ну или так:
SELECT necessary_field, COUNT(necessary_field) 'checked' FROM test_table WHERE (index_id=15 AND quantity=4) OR (index_id=19 AND quantity=2) GROUP by necessary_field HAVING checked>0 ORDER BY checked DESC;
Самая верхняя строка наиболее подходящий объект, по убыванию количества попаданий.
Если я правильно понимаю, то колонка ROWS в EXPLAIN означает количество записей по которым идет поиск.
Так поиск а не выборка.
Дак вот, в одном случае - где 3 поля в индексе, там фуллскан происходит. В случае с 2 полями индекса и 1 в групп бай, то там показывает ROWS = выбранные поля (ну типа индекс прошел гуд).
И в чем проблема если используется индекс? Естественно тут, чтобы найти все соответствующие столбцы нужно пройтись по всем строкам.
С индексом который я привел выше фуллскан не используется.
Всем по огромному бонгу, спасибо :)
Выбрал варик с count(*)=2
--
что бы я делал без Вас?..