- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
лучше жувать иногда :)
Почитайте, что такое индексы. От запроса это не зависит.
действительно, иногда лучше жувать.
я вот проверил, при "!=" составной индекс не используется. такой же запрос, но с "=" - используется.
если немножко подумать о том, как устроены индексы и как по ним поиск идет, то можно догадаться почему именно так, а не иначе.
---------- Добавлено в 23:42 ---------- Предыдущее сообщение было в 23:40 ----------
Если мне не изменяет память, то конструкция IN или её аналог OR ... OR
... OR .... проходит аналогично отдельным запросам, а значит и составной индекс будет задействоваться. Но я сделал оговорку, что нужно проверить EXPLAIN. Ибо "чуйка" подсказывает, что должно работать, но всё же проверка не будет лишней, ибо я уже какое-то время больше "по руководящей линии", чем собственно програмлю, мог уже что-то и забыть.
да не, тут не про IN/OR - это синтетический сахар, тут про "!=" vs "="
ут про "!=" vs "="
таки да, слона я не заметил :)
Если ники "захардкожены" не проще ли их вынести в отдельную таблицу? И запрос проще станет и менять в последующем проще.
действительно, иногда лучше жувать.
я вот проверил, при "!=" составной индекс не используется. такой же запрос, но с "=" - используется.
если немножко подумать о том, как устроены индексы и как по ним поиск идет, то можно догадаться почему именно так, а не иначе.
А если мы сделаем так?
EXPLAIN SELECT * FROM `cms_brand` FORCE INDEX (trans) WHERE name!='abb' AND (trans!='abb' OR trans!='gewi')
То EXPLAIN нам выдаст, что используется наш ключик trans.
А если мы добавим ещё LIMIT 1, то вообще прелесть будет :)
А если мы сделаем так?
EXPLAIN SELECT * FROM `cms_brand` FORCE INDEX (trans) WHERE name!='abb' AND (trans!='abb' OR trans!='gewi')
То EXPLAIN нам выдаст, что используется наш ключик trans.
А если мы добавим ещё LIMIT 1, то вообще прелесть будет :)
конечно мы можем заставить использовать индекс. в этом случае мы сначала будем ходить по индексу, а потом пойдем за данными в таблицу, т.е. получим 2 IO операции вместо одной, но нам же не это нужно, правда?
суть в том, что в данном случае нет никаких преимуществ в использовании индекса по сравнению с table scan, а недостатки известны - дополнительное место под индекс, перестройка (а значит локи) индекса при вставке-удалении-апдейте.
оптимизатор может выбрать использовать индекс в трех случаях
а) индекс кластерный - т.е. данные хранятся физически вместе с индексом
б) таблица достаточно широкая - может получиться что шагать по индексу дешевле (в терминах IO) чем шагать по таблице
в) в селекте выбирается только те колонки, из которых состоит индекс
Ну тогда как я и писал раньше, менять просто логику работы. Искать не !=, а =
Тогда всё встанет на свои места.