|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Konstantin Tokar 2:5020/400 22 Nov 2003 12:50:22 To : Victor Wagner Subject : Re: perl или c#? --------------------------------------------------------------------------------
Victor Wagner wrote:
> Konstantin Tokar <fido7@tokar.ru> wrote:
>
>>>while (my ($id,$title,$abstract,$status) = $sth->fetchrow_array) {
>>> ....
>>>}
>>>
>>>Это обеспечивает минимальную длину ссылок на вытащенные данные в тексте
>>>программы, при сохранении содержательности.
>
>
> KT> А почему не <<;? Результат тот же, но быстрее.
>
> KT> $sth->bind_columns([$id,$title,$abstract,$status]);
> KT> while ( $sth->fetch ) {
> KT> ....
> KT> }
>
> Потому что
> а) быстрее не во всех SQL-серверах
> б) нужен лишний уровень lexical scoping. Так переменные все локализованы
> в while, а так они должны быть определены за строчку до.
Действительно, оказалось для Оракла практически одно время выполнения,
bind сработал быстрее на 10 процентов при большом количестве столбцов
(правда, я поленился делать 47 переменных и сделал массивб для
fetchrow_array это ускорило, но при таком количестве столбцов
практического значения тест не имеет), при 5-ти столбцах заметной
разницы нет.
--- ifmail v.2.15dev5.1
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/657721791831.html, оценка из 5, голосов 10
|