Страница 1 из 1

Нагрузка от $q->createCommand()->rawSql

Добавлено: 2018.03.28, 12:12
greenpeas
Сделал тест. Подал на этот метод 30 RPS Яндекс Танком на локалке.

Код: Выделить всё

public function actionIndex() {

        $q = new \yii\db\Query();
        $q->select(['bla-bla-bla']);
        $q->from(['bla-bla-bla']);
        //$q->where(['bla-bla-bla' => 'bla-bla-bla']);
        
        return $q->createCommand()->rawSql;
    }
Время ответа до 10 ms. HDD спокоен.

Затем раскомментирвал условие "where" и повторил стрельбу:

Код: Выделить всё

public function actionIndex() {

        $q = new \yii\db\Query();
        $q->select(['bla-bla-bla']);
        $q->from(['bla-bla-bla']);
        $q->where(['bla-bla-bla' => 'bla-bla-bla']);
        
        return $q->createCommand()->rawSql;
    }
Время ответа до 250-400 ms. HDD в панике.

Хотелось бы узнать, нормально ли это? Или баг?

Re: Нагрузка от $q->createCommand()->rawSql

Добавлено: 2018.04.05, 21:31
Nex-Otaku
Это нормально, либо тяжёлый запрос, либо индексы в базе неправильно настроены.

Re: Нагрузка от $q->createCommand()->rawSql

Добавлено: 2018.04.05, 22:27
andku83
структуру таблички покажите и сколько в ней записей?

Re: Нагрузка от $q->createCommand()->rawSql

Добавлено: 2018.04.06, 09:44
SiZE
andku83 писал(а): 2018.04.05, 22:27 структуру таблички покажите и сколько в ней записей?
EXPLAIN и все встанет на свои места.