Я уже давно создаю приложения для rails, но, к сожалению, для меня ни у одного из моих приложений не было большого количества данных или трафика. Но теперь у меня есть тот, кто набирает обороты. Поэтому я сначала погружаюсь в масштабирование и оптимизацию своего приложения.
Кажется, что первый и самый простой шаг - это индексы базы данных. У меня есть хороший огромный список индексов, который должен охватывать почти все мои запросы, но когда я добавил их в свою базу данных через миграцию, потребовалось всего несколько секунд, чтобы добавить их. По какой-то причине я думал, что им придется проходить через все мои записи (из которых тысячи) и индексировать их.
Означает ли это, что мои индексы не были применены к моим уже существующим данным? Будут ли они добавлены только к новым записям?
Кроме того, я изучаю другие решения для масштабирования, такие как memcached, и все вокруг, уменьшая мои запросы и т.д.
Если кто-нибудь может указать мне на некоторые хорошие ресурсы для оптимизации моего приложения rails 3, я был бы очень признателен!
Спасибо!
EDIT:
Спасибо за все замечательные ответы на индексы базы данных! Что еще я должен искать с точки зрения оптимизации и масштабирования моего приложения? Memcached? Что имеет наилучшее соотношение производительности и усилий в плане оптимизации?