У нас есть таблица MySQL, в которой строки никогда не обновляются, но вместо нее добавляются новые строки, а старые - устаревшие. Think Rails 'acts_as_paranoid
, но для каждого обновления.Использование индексов в режиме просмотра MySQL
Чтобы работать с Rails, мы имеем представление, которое выбирает только строки, которые являются «текущими». Это делает намного лучшую «таблицу» для нашей модели ActiveRecord.
Ловушка: наши индексы больше не используются.
Запросы на представление не используют индексы базовых таблиц. Вы не можете добавить индекс в представление. Без индексов приложение невыносимо медленное.
Единственное решение, с которым мы столкнулись, - это построить материализованное представление, но это боль в MySQL, потому что они не поддерживаются изначально.
Есть ли лучший способ сделать это?
Пожалуйста, покажите нам вид и запрос. –