- Код: Выделить всё
SELECT MAX(val) FROM
(SELECT MAX(date_updated) as val FROM {{apartment}}
UNION
SELECT date_updated as val FROM {{galleries}}) as t
Этот запрос на 100% загружает CPU VPS сервера. Можно ли что то с ним сделать?
SELECT MAX(val) FROM
(SELECT MAX(date_updated) as val FROM {{apartment}}
UNION
SELECT date_updated as val FROM {{galleries}}) as t
Xpycm писал(а):Здравствуйте.
Попробуйте добавить индексы в обе таблицы для полей date_updated
Yii::import('application.modules.apartments.helpers.apartmentsHelper');
$dependency = new CDbCacheDependency('SELECT MAX(id) FROM {{apartment}}');
$sql = 'SELECT id FROM {{apartment}} WHERE type='.$type.' AND city_id='.$sity.' AND obj_type_id='.$tipob.' '.$num_of_rooms.' '.$price_type.' ';
$results = Yii::app()->db->cache(param('cachingTime', 1209600), $dependency)->createCommand($sql)->queryColumn();
shuffle($results);
$this->criteria = new CDbCriteria;
$this->criteria->addInCondition('t.id', array_slice($results, 0, param('module_apartments_widgetApartmentsItemsPerPageRandom', 9)));
$result = apartmentsHelper::getApartments(param('module_apartments_widgetApartmentsItemsPerPageRandom', 9), $this->usePagination, 0, $this->criteria);
if($this->count){
$result['count'] = $this->count;
}
$this->render('widgetApartments_list', $result);
SELECT MAX(val) FROM
(SELECT MAX(date_updated) as val FROM {{apartment}}
UNION
SELECT date_updated as val FROM {{galleries}}) as t
Вернуться в Вопросы и помощь по изменениям
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12