Hilfe Mysql PDO

06/08/2015 00:06 herogat#1
Hallo ich brauche Hilfe bei einem Cms, die Mysql Connection zu Optimieren.

Ich Suche jemand der mir Helfen würde das Cms zu Optimieren mit mir.

Da Das cms Leider für Jede abfrage ein Mysql Thrand aufmacht das heisst pro 1 Seite Aufrufen 140 Leere Mysql Prozesse.


Code:
<?php

namespace System\Libs;

use PDO;

class Database extends PDO {
   
    
    public function __construct() {
			parent::__construct('mysql:host=127.0.0.1;port=3306;dbname=herost;charset=utf8', '', '');
			
    }
    
    public function query($query, $params = []){
        $sql = $this->getConnection()->prepare($query);
        $sql->execute($params);
        return $sql;
    }
    
    public function getConnection($class = __CLASS__){
        return new $class($this->config);
    }

}
und

Code:
<?php

namespace System\Libs;

use System\Libs\Database;

class Model {
    public $db;
    
    public function __construct($config){
        $this->db = new Database($config);
    }
}
[Only registered and activated users can see links. Click Here To Register...]
06/08/2015 07:51 Serraniel#2
Die Info welches CMS du verwendest wäre noch hilfreich.
06/08/2015 11:43 herogat#3
Das ist ein eigenes cms von einem Kollegen. Er weiss auch nicht wiso das auftaucht
06/08/2015 18:07 Shawak#4
Unschöner Workaround um nicht alles neu machen zu müssen wäre ein Singleton pattern - Wikipedia, the free encyclopedia
06/09/2015 13:49 herogat#5
Villeicht könnte mir jemand das machen oder schbell zeigen wie ich das machen müste
06/09/2015 18:20 snow#6
#moved…
06/10/2015 02:47 Cr4nkSt4r#7
Ein Schritt wäre ganz am Ende des Scriptes wenn eh nichts mehr mit der DB Kommuniziert, diese zu nullen, also zu schließen, sonst bleibt diese ja auf:
PHP Code:
$db = new PDO('mysql:host=HOST;dbname=DEINEDB'$USER$PASS);

$db null 
entsprechend musst du es auf dein Script an passen.
Oder aber das ganze als Persistente Verbindung initialisieren:
PHP Code:
$db = new PDO('mysql:host=HOST;dbname=DEINEDB'$USER$PASS, array(
  
PDO::ATTR_PERSISTENT => true
)); 
Er cached somit die Verbindung und verwertet diese für weitere und macht auch nicht immer eine neue auf.

Ggf. google diese zwei Dinge und schau was für dich am besten klappt und was diese Dinge genau machen.
06/10/2015 20:45 herogat#8
muahah :P hey danke dir :) habs gefixxt oO und geht sogar