Ключевую роль в производительности приложения играет взаимодействие с базой данных. Кеширование запросов (Кэширование на уровне базы данных ) может улучшить производительность, но не всегда является средством решения всех проблем. При неверной организации структуры БД приложения и неверном составлении запросов получение данных из БД может занимать много времени.
При работе с БД следует помнить о следующем:
- индексы полей ускоряют работу SELECT-запросов и тормозят запросы INSERT, UPDATE и DELETE;
- сложные запросы следует оптимизировать с помощью SQL-средств (оператор EXPLANE);
- производительность при использовании Active Record снижается. Представление каждой строки результата запроса в виде объекта и каждого поля как объекта требует временных затрат, поэтому, если приложение интенсивно запрашивает данные из БД, необходимо использовать DAO.