Toon posts:

[php]script is te traag, krijgt door mysql timeout

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een Database met 1853 records, deze moet hij weergeven in.
Dit is al een ongelukkig scenario omdat het al meer dan 15 sec duurt (de eerste pagina) want ik geef opdracht voor 100 records per pagina met de volgende lap code :
PHP:
1
<?if (!$VolledigeDBweergeven==""){$database="Groenboek";$db=mysql_connect("localhost","root") or die ("Het maken van de verbinding met de database is mislukt dus uw boek is niet toegevoegd");@mysql_select_db($database,$db) or die ("Het maken van de verbinding met de database is mislukt dus uw boek is niet toegevoegd");if ($idcodenummer=="") {    $result = mysql_db_query($database, "SELECT * FROM boekenlijst LIMIT 0, 100",$db) or Die ("Error :".Mysql_error()." ");}if (!$idcodenummer==""){    $idcodenummer2 = $idcodenummer + 100;    $result = mysql_db_query($database, "SELECT * FROM boekenlijst LIMIT $idcodenummer, $idcodenummer2",$db) or DIE ("Error :".Mysql_error()." ");}?>

iedere keer wordt dat $idcodenummer verhoogt met 100 dus zou hij op iedere pagina 100 records moeten weergeven.
Dit werkt redelijk (als het sneller kan, ik sta open voor suggesties).

Maar bij iedere pagina verder de database in wordt het langzamer, is dit normaal of is daar iets aan te doen ?
Want na een tijdje komt het gewoon boven de 30 sec uit :'(

Verwijderd

Als je een veld hebt met een ID dan kan je gewoon reeksen opvragen. Bijvoorbeeld 1 t/m 100 of 101 t/m 200. Op die manier wordt het ook niet langzamer als je naar diepere pagina's surft.

En 15 seconden is echt extreem lang voor zo'n query. Ik vraag hier meer dan 10000 records op in minder dan 2 seconden.

En gebruik in plaats van '$idcodenummer==""' eens 'isset($idcodenummer)' dat is al een stuk netter.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Ik zou zeggen, kijk nog eens naar het gebruik van hoe je LIMIT moet gebruiken.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op donderdag 09 mei 2002 13:37 schreef dusty het volgende:
Ik zou zeggen, kijk nog eens naar het gebruik van hoe je LIMIT moet gebruiken.
I see now...
Ik heb het een beetje niet goed doorgelezen, nu ik er nog eens naar kijk denk ik toch ff dat ik een stukje ga herschrijven |:(
Dat ik zo stom kan zijn... :'(

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 08:34
Gebruik trouwens geen
code:
1
mysql_db_query

svp, want die functie is depricated.

Gebruik ipv daarvan
code:
1
mysql_select_db

en
code:
1
mysql_query

:)