Ускорение работы Yii

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
ivlazar
Сообщения: 15
Зарегистрирован: 2012.04.06, 12:19

Ускорение работы Yii

Сообщение ivlazar »

Есть две связанные таблицы в каждой порядка 1000 записей.
Выборка записей с лимитом 25 на странице и формирование страницы занимает, по отчету FireBug'а, больше 1 секунды.
Увеличение числа записей, соответственно, увеличивает время формирования.
Как и можно ли вообще ускорить этот процесс? Куда копать и что "курить", но желательно реальные советы с примерами? :)
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Ускорение работы Yii

Сообщение anton44eg »

Использовать DAO или чистый SQL вместо AR.
ivlazar
Сообщения: 15
Зарегистрирован: 2012.04.06, 12:19

Re: Ускорение работы Yii

Сообщение ivlazar »

anton44eg писал(а):Использовать DAO или чистый SQL вместо AR.
Спасибо!

Тогда в GridView уже DataProvider не подсуну, придется самому формировать список со всей пагинацией, сортировкой... или все таки можно и как?
Аватара пользователя
sergebezborodov
Сообщения: 133
Зарегистрирован: 2010.06.10, 19:53
Откуда: Dnepropetrovsk-Sevastopol, UA
Контактная информация:

Re: Ускорение работы Yii

Сообщение sergebezborodov »

смотреть на профилирование запроса и поднастроить базу
A passion to perform
http://sergebezborodov.com
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Ускорение работы Yii

Сообщение Skiller »

CSQlDataProvider а вообще вы написали чушь) почитйте про ускорение работы yii и про работу со связанными AR
ivlazar
Сообщения: 15
Зарегистрирован: 2012.04.06, 12:19

Re: Ускорение работы Yii

Сообщение ivlazar »

Skiller писал(а):CSQlDataProvider а вообще вы написали чушь) почитйте про ускорение работы yii и про работу со связанными AR
А не могли бы Вы указать где именно написана чушь, а то из Вашей многозначительной фразы сложно выбрать единственно верную мысль?
Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Ускорение работы Yii

Сообщение Skiller »

У меня на таблице с 100к записями меньше времени занимал на CActiveDataProvider с релейшанами. Я не знаю что у вас там за код, может у вас lazy load используется везде где можно и тянуться еще по многу запросов в БД. Ваш вопрос звучит как "Все работает медленно, винова Yii, хочу чтобы было быстро".
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: Ускорение работы Yii

Сообщение Nafania »

Для начала надо выяснить все поэтапно.
Сколько занимают sql запросы, сколько формирование страницы самой и после этого думать что делать.
ivlazar
Сообщения: 15
Зарегистрирован: 2012.04.06, 12:19

Re: Ускорение работы Yii

Сообщение ivlazar »

Skiller писал(а):У меня на таблице с 100к записями меньше времени занимал на CActiveDataProvider с релейшанами. Я не знаю что у вас там за код, может у вас lazy load используется везде где можно и тянуться еще по многу запросов в БД. Ваш вопрос звучит как "Все работает медленно, винова Yii, хочу чтобы было быстро".
Даже и не собирался на Yii наговаривать, объяснил ситуацию и попросил совета о направлении дальнейших раскопок.
А как выглядит lazy load ?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Ускорение работы Yii

Сообщение samdark »

Как очень очень много запросов. http://yiiframework.ru/doc/guide/ru/database.arr
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Ускорение работы Yii

Сообщение Koduc »

Установите yii-debuger-toolbar, там есть замечательная вкладка "SQL-запросы" - там отображаются все запросы к базе. На стадии девелопмента очень полезная вещь, потому что иногда забываешь указать ->with() и происходит ленивая загрузка. Особенно сурово выглядит во всяких CGridView и подобных;)
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Ответить