grabbee
@grabbee

Как правильно использовать Boolean индекс?

Например. Таблица пользователей. У них есть поле MODERATED - нужно показывать чаще всего тех кто прошел модерацию. Тех кто не прошел значительно меньше(1-2%), но они есть.
* Мускуль по собственному желанию игнорирует индекс по этому полю,
* и запрос вместо 0,02 сек выполняется 10-20 секунд

Я не могу повлиять на сам запрос. Я узнал что в случае Boolean индекса мускуль любит его игнорировать, а как правильно поступить я ещё не знаю :)
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Если вы своим запросом дёргаете с диска 98% содержимого таблицы, то тут вам никакой индекс не поможет, гораздо эффективнее в таком случае всю таблицу с диска прочитать и отфильтровать, чем читать индекс и вразнобой дёргать с диска разные строчки, а потом их собрать воедино.
И оптимизатор прекрасно понимает эту особенность и использует только те индексы, которые помогут значительно снизить количество и объёмы чтений с диска.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы