2010-08-10 3 views

ответ

0
EXPLAIN SELECT * FROM articles WHERE title LIKE '%query%' AND user_id=123 

Что скажут все это :)

0

MySQL почти наверняка использовать индекс user_id.

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

Например, если ваши articles таблицы также имели столбец даты article_date, который был проиндексирован и вы выполнили запрос с предикатами на обоих user_id и article_date. Затем MySQL должен будет оценить, какой индекс будет самым быстрым, чтобы выбрать нужные строки.

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

Смежные вопросы