Database class met PDO langzamer?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yearupie Achternaamloos

Yearupie Achternaamloos

21/12/2009 21:17:00
Quote Anchor link
Heej,

Ik ben bezig met het integreren van een class met PDO en ik heb het gevoel dat mijn site een stuk langzamer is.

Ligt het aan deze class?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
class database{
  
    var
$dbh;
    
  function
connect(){
      
      $hostname = "";
      $database = "";
      $username = "";
      $password = "";          
              
      try {
        $this->dbh = new PDO("mysql:host=".$hostname.";dbname=".$database.";",$username, $password);  
    }

        catch(PDOException $e){
            
        echo $e->getMessage();        
    }
  }
  
  function
dbselect($sql){
      $result = $this->dbh->query($sql);
      if(count($result) == 1)
      {

          $result = $result->fetch(PDO::FETCH_OBJ);
      }

      elseif(count($result) > 1)
      {

          $result = $result->fetchall(PDO::FETCH_OBJ);
        }

      return $result;
  }
  function
dbquery($sql){
      $result = $this->dbh->exec($sql);
  }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Yearupie Achternaamloos
 
PHP hulp

PHP hulp

18/05/2021 19:34:10
 
TJVB tvb

TJVB tvb

21/12/2009 21:26:00
Quote Anchor link
Ik ben vooral nieuwsgierig waarom je een PDO::FETCH_BJ doet, gebruik je het daadwerkelijk als objecten? Ik vermoed dat je er veel betere een PDO::FETCH_ASSOC kunt gebruiken. Dat werkt in ieder geval een stuk sneller.
 
Pim -

Pim -

21/12/2009 21:42:00
Quote Anchor link
Ik denk sowieso niet dat een site merkbaar langzamer wordt met PDO, PDO is wel wat minder snel (door de uitgebreidheid ervan), maar dat zal (hooguit) in de tienden van seconden liggen. In benchmarks zal je het natuurlijk wel merken.
 
Yearupie Achternaamloos

Yearupie Achternaamloos

21/12/2009 21:48:00
Quote Anchor link
Dus als ik deze class hierboven gebruik dus:
$row = $db->dbselect($sql);
in plaats van
$sql = mysql_query($sql);
$row = mysql_fetch_assoc($sql);

Dan kan het niet veel van snelheid verschillen?

En nog een vraagje,
Als je de OOP denkwijze wil gebruiken.
Moet je dan met FETCH_OBJ of kan dat ook gewoon FETCH_ASSOC zijn?
Want ik vind FETCH_ASSOC eigenlijk fijner typen.
 
TJVB tvb

TJVB tvb

22/12/2009 09:10:00
Quote Anchor link
Yearupie schreef op 21.12.2009 21:48:
En nog een vraagje,
Als je de OOP denkwijze wil gebruiken.
Moet je dan met FETCH_OBJ of kan dat ook gewoon FETCH_ASSOC zijn?
Want ik vind FETCH_ASSOC eigenlijk fijner typen.

Het gaat erom wat je met het resultaat doet. Ga je het daadwerkelijk als object met functies etc. dan kun je het omzetten naar een object. Gebruik je het alleen om even de gegevens te verzamelen dan is assoc goed. Het gaat er niet om wat fijner is om te typen maar wat je doel is.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.