[php:1:19a70f9307]<?php
function pierwsza(){
global $errorString;
$smarty = new Smarty;
$smarty->compile_check = true;
$smarty->debugging = true;
$smarty->caching = false;
$zapytanie = "SELECT * FROM tabela";
$wykonaj = mysql_query ($zapytanie);
while($wiersz=mysql_fetch_assoc($wykonaj))
{
$id = $wiersz['id'];
$zapyt = "SELECT * FROMtabela2 WHERE id='$id'";
$wyk = mysql_query ($zapyt);
$ile = 0;
while($wierszy=mysql_fetch_assoc($wyk))
{
$ile = $ile + $wierszy['ile'];
}
$wiersz['ile'] = $ile;
$out[] = $wiersz;
}
$smarty->assign('begin', $out);
$smarty->display('index.tpl');
}
?>[/php:1:19a70f9307]
Oraz taką:
[php:1:19a70f9307]<?php
function druga(){
global $errorString, $db;
$smarty = new Smarty;
$smarty->compile_check = true;
$smarty->debugging = true;
$smarty->caching = false;
$zapytanie = "SELECT * FROM tabela";
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$wiersz = $db->Execute($zapytanie);
if ($wiersz === false) die("failed");
while (!$wiersz->EOF)
{
$id = $wiersz->fields['id'];
$zapyt = "SELECT * FROM tabela2 WHERE id='$id'";
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$wierszy = $db->Execute($zapyt);
if ($wierszy === false) die("failed");
$ile = 0;
while(!$wierszy->EOF)
{
$ile = $ile + $wierszy->fields['ile']
$wierszy->MoveNext();
}
$wiersz->fields['ile'] = $ile;
$out[] = $wiersz->fields;
$wiersz->MoveNext();
}
$smarty->assign('begin', $out);
$smarty->display('index.tpl');
}
?>[/php:1:19a70f9307]
Smarty debbuger pokazuje mi czas :
funkcja pierwsza:
Kod
index.tpl (0.00914) (total)
header.tpl (0.00480)
footer.tpl (0.00112)
header.tpl (0.00480)
footer.tpl (0.00112)
funkcja druga:
Kod
index.tpl (0.02621) (total)
header.tpl (0.01490)
footer.tpl (0.00113)
header.tpl (0.01490)
footer.tpl (0.00113)
pliki *.tpl wyglądają tak samo w obu przypadkach i tablica $out także.
czy zawsze używanie ADOdb powoduje wolniejszą prace

Albo jak to zooptymalizować w ADOdb
