powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / UNE INDEX для VIEW (выбор индекса в представлении)
9 сообщений из 9, страница 1 из 1
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142511
Artemeey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
`view` = обычное представление

SELECT * FROM `view` USE INDEX (`PRIMARY`) WHERE ....

Получаю ошибку: #1176 - Key 'PRIMARY' doesn't exist in table 'view'

Если запрос делать так: SELECT * FROM `view` WHERE ...., интерпретатор выбирает не тот индекс.

Как же при выборке с использованием VIEW указать предпочтительный индекс?
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142522
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше вообще VIEW не использовать.
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142527
Artemeey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кому то будет интересно, то ключи не использовались из-за большого условия.

На допустимый максимальный перебор условий для использования ключа влияет параметр max_seeks_for_key.
Настроив это параметр представление начнет работать с необходимыми ключами.
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142528
Artemeey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как использовать USE INDEX при вызове представления - решения не нашел.

Споры о том, для чего придуманы представления и стоит ли их использовать - за рамками данной темы.
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142822
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtemeeyКак использовать USE INDEX при вызове представления - решения не нашел.Представление вообще-то не индексировано. В принципе. Так что нет смысла пытаться использовать то, чего нет.
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142885
Artemeey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Представление строится на данных таблиц. Эти таблицы имеют индекс. При вызове представления используются индексы соответствующих таблиц.
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142890
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtemeeyПредставление строится на данных таблиц. Эти таблицы имеют индекс. При вызове представления используются индексы соответствующих таблиц.
Даже в подзапросах индексы в подавляющем большинстве случаев используются только внутри подзапроса. А если вьюв не будет раскрываться в тексте - то индекс гарантированно будет использоваться исключительно внутри. И даже хуже - если в подзапросе мог бы использоваться покрывающий индекс, во внешнем запросе будет гарантированное сканирование таблицы.
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142922
Artemeey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Сейчас VIEW использует индекс правильно. Выше я написал, что дело было в настройке max_seeks_for_key, влияющая на использования индекса в условиях вида
`a` = '...' OR `a` = '...'
А так же вида:
...
Рейтинг: 0 / 0
UNE INDEX для VIEW (выбор индекса в представлении)
    #39142923
Artemeey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так же вида:

`a` IN (....)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / UNE INDEX для VIEW (выбор индекса в представлении)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]