Оптимизация SQL запросов

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Mully
Сообщения: 3
Зарегистрирован: 2019.08.14, 09:09

Оптимизация SQL запросов

Сообщение Mully »

Все работает на ура - это хорошо. Но хочу сделать оптимизацию запросов. Чтобы при запросе к бд тянулись только нужные поля.
Использую Restful, поля пытаюсь получить через параметр fields - он работает правильно, если я укажу id,name - то мне и вернется только id,name, НО сам запрос к бд будет полный с лишними данными, потому что он тянется "SELECT * FROM user u". Есть ли какие то варианты решения этой проблемы? Данные тяну через ActiveDataProvider, в него передаю $query, заранее подготовленный(со всеми связями и кастомными запросами). Сам запрос к БД выполняется раньше чем процесс доходит до метода 'fields', где уже и берутся нужные поля. Т.е. по сути PHP обрабатывает мой запрос и отправляет мне поля.
Как сделать так чтобы через SQL запрос тянулись сразу нужные поля?
Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: Оптимизация SQL запросов

Сообщение futbolim »

Это запросы ActiveRecord. Ей нужно знать, какие поля есть в таблице, вот и тянет. Для этого есть https://www.yiiframework.com/doc/guide/ ... ma-caching
Ответить