<?php

function get_microtime_us() {
    list($usec, $sec) = explode(" ", microtime());
    return round(1000000 * ((float)$usec + (float)$sec));
}

class Database extends PDO {
    function __construct($dsn, $username="", $password="", $driver_options=array()) {
        parent::__construct($dsn,$username,$password, $driver_options);
        $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('DBStatement', array($this)));
    }

    function query($statement) {
        $start = get_microtime_us();
        $result = parent::query($params);
        $end = get_microtime_us();
        echo "Took " . ($end - $start) . " us";
        return $result;
    }
}


$db = new Database("mysql:host=localhost;dbname=class_optimize",
    "class_user",
    "class_password");

$results = $db->query("SELECT * FROM test WHERE 1 = 1 AND 0 = 0");

?>

