SqlAbstractmore
генерируется такой вот запрос
$VAR1 = 'SELECT * FROM (SELECT subq_A.*, ROWNUM rownum__index FROM (SELECT id, resource_id, action_user, action_object_id_name, action_object_id, ip, service, log_level, action, to_char(action_date ,\'dd.mm.yyyy HH24:MI\') action_date FROM localschema.system_actions ORDER BY id DESC) subq_A WHERE ROWNUM <= ?) subq_B WHERE rownum__index >= ?';
$VAR2 = 10;
$VAR3 = 1;
Если исполнить в среде разработки то запрос обрабатывается примерно за 600-700 мс
если же в коде
то
my $time2 = time();
printf("time2 %.2f\n", $time2 - $begin_time);
my $res = $dbh->selectall_arrayref( $statement, { Slice => {} }, @bind );
my $time2_1 = time();
printf("time2_1 %.2f\n", $time2_1 - $begin_time);
time2 0.00
time2_1 14.99
14+ секунд ... из за чего так происходит ? что можно сделать что бы эту задержку минимизировать ?
10
explain пока не сделал. пинг с минимальными задержками. там все на одном кластере крутиться в одном датацентре
Точно? Точно не миллион?
explain запусти все же, если у тебя там filesort + миллионы записей, то будет больно. Плюс среда обычно хитро с базой работает через курсоры и там могут быть отличия с реальным запросом. У меня как-то был прикол что в оракл-девелопере запрос работал, а в коде нет
Обсуждают сегодня