Показать сообщение отдельно
Старый 22.03.2005, 12:59   #6  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Изначально опубликовано Wamr
а может еще и incCount убрать и тогда вообще за 5 мин отработает?
Может для всех это очевидные вещи, но я существо любопытное до неприятностей

Итак дано: тестовый сервак. На нем кроме меня, аксапты, сиквела и какой-то матери никого нет. Запускаю в терминалке в 2-х звенке. 3.0 sp 2. Тех хар-ки думаю не принципиальны, скажем так "Неплохой сервак с 3 гигами, 2 процами и т.п."

Записей в таблице 1740254 штук.

В тиках мерять не умею, не выпендривайтесь

Ниже - "жопы" и время их выполнения:
PHP код:
static void Job24(Args _args)
{
    
InventJournalTrans it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    While 
select RecId from it
    
{
        
//progr.setText("");
        //progr.incCount();
    
}
    
info(time2str(TimeNow()-t,0,0));
}

---
Info =  00:54

static void Job24(Args _args)
{
    
InventJournalTrans it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    While 
select RecId from it
    
{
        
//progr.setText("");
        
progr.incCount();
    }
    
info(time2str(TimeNow()-t,0,0));
}

---
Info =  03:46

static void Job24(Args _args)
{
    
InventJournalTrans it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    
progr.updateInterval(60);
    While 
select RecId from it
    
{
        
//progr.setText("");
        
progr.incCount();
    }
    
info(time2str(TimeNow()-t,0,0));
}

---
Info =  03:44

static void Job24(Args _args)
{
    
InventJournalTrans it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    
progr.updateInterval(60);
    While 
select RecId from it
    
{
        
progr.setText("");
        
progr.incCount();
    }
    
info(time2str(TimeNow()-t,0,0));
}

---
Info =  05:57

static void Job24(Args _args)
{
    
InventJournalTrans it;
    
SysOperationProgress    progr = New SysOperationProgress();
    
timeofday   t;
    ;
    
select count(recidfrom it;
    
TimeNow();
    
progr.setTotal(it.RecId);
    
//progr.updateInterval(60);
    
While select RecId from it
    
{
        
progr.setText("");
        
progr.incCount();
    }
    
info(time2str(TimeNow()-t,0,0));
}

---
Info =  05:35