Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ADOdb zawsze wolniej ???
Bora
post
Post #1





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

Ostrzeżenie: (0%)
-----


mam takie 2 funkcje:

[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)

funkcja druga:
Kod
index.tpl (0.02621) (total)

   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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Albo jak to zooptymalizować w ADOdb (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Jabol
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


a jak byś chciał ? Przecież adodb robi to samo co drugi kod, tylko przerabia to jeszcze samemu. AdoDB jest warstwą pośrednią! Nigdy nie będzie szybzse, bo w gruncie rzeczy to ona tylko przenosi twój kod do swoich klas - ale i tak uważam, że warto ze względu na przenośność.
Go to the top of the page
+Quote Post
Bora
post
Post #3





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

Ostrzeżenie: (0%)
-----


czy korzystanie z ob_start i ob_end_flush może przyśpieszyć wykonywanie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Nie sadze, przeciez nic w tym kodzie nie wyswietlasz... (nie liczac Smarty, ale to masz w obu przypadkach)
Przyspieszyc dzialanie AdoDB moze np. jego mechanizm cache'ujacy.
Go to the top of the page
+Quote Post
Bora
post
Post #5





Grupa: Zarejestrowani
Postów: 270
Pomógł: 0
Dołączył: 15.06.2003

Ostrzeżenie: (0%)
-----


hmm
czyli jeżeli nie zależy mi na szybkości a nie na integralności z innymi bazami danych to nie ma sensu używać Adodb (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
kwiateek
post
Post #6





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 13.01.2003
Skąd: 3rd ball of mud behind a big ball of burning gas

Ostrzeżenie: (0%)
-----


Cytat
hmm
czyli jeżeli nie zależy mi na szybkości a nie na integralności z innymi bazami danych to nie ma sensu używać Adodb (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Według mnie tak właśnie powinno się zrobić choć grzechem nie byłoby stworzenie własnej prostej klasy obsługi bazy danych.

Pozdrawiam.
Go to the top of the page
+Quote Post
itsme
post
Post #7





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




wszystko zalezy od tego co jest u Ciebie priorytetem
sam sobie odpowiedziales na to pytanie
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:26