Добрый день всем любителям Yii2.
Пишем мы проект на yii2, средней масштабности интернет магазин.
Лично я писал каталог товаров с фильтрами и прочими плюхами.
Фильтрация сделана средствами связей моделей, иногда бывает даже связь через связь.
Работает всё хорошо но если бы не одно "но".
Посмотрев в debug панель я обнаружил количество запросов отправляемых в базу
и тут мне маленько "поплохело". В общем у меня для одной страницы выполняется от 100 до
700 запросов а иногда бывает и больше. В общем вопрос такой, не помрёт ли наш MySQL при таких
количествах запросов, если на сайте будет сидеть, допустим, 500 человек одновременно.
Так как эти запросы Active Record строит сам, повлиять на них количество можно,
только перепиливанием логики.
Может вопрос и туповат, но интересно узнать мнение людей которые уже писали что-то подобное
и как держит такие нагрузки MySQL.
За ранее благодарен за ответы )))
Огромное количество запросов к БД
Re: Огромное количество запросов к БД
я в таком случае использовал джоины, вы видимо используете hasMany, hasOne в AR
Re: Огромное количество запросов к БД
Можно, например, жадную загрузку включить в AR со связями.
Re: Огромное количество запросов к БД
ситуация стандартная: таблица с датапровайдером, в ней поля, которые получаются через связи, которые по умолчанию ленивые, то есть грузятся по запросу, а не заранее. прописываем в запрос провайдера with(['имяСвязи']) и 600 запросов превращаются в 50 (цифры из последнего проекта).
Re: Огромное количество запросов к БД
А если не затруднит, можно какой-то маленький примерчик использования? А то что-то не могу понять как это юзать.zelenin писал(а):ситуация стандартная: таблица с датапровайдером, в ней поля, которые получаются через связи, которые по умолчанию ленивые, то есть грузятся по запросу, а не заранее. прописываем в запрос провайдера with(['имяСвязи']) и 600 запросов превращаются в 50 (цифры из последнего проекта).
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42