我已经使这个类来处理我所有的SQL查询。但我不确定如何正确使用它。SQL对象 - 如何正确使用它
类看起来是这样的(这是它的一个非常简单的版本):
class sql {
private $conn;
private $data;
function __construct() {
//makes connection to DB and sets $conn and $data
}
public function select($variables, $table, $criterias) {
//returns an array with all the info from DB
}
function __destruct() {
//closes the sql-connection
}
}
现在的问题是:这样做超负荷DB,如果我多次使用它的每一页上-加载? (refered为实例#1)
$dbInfo = (new sql)->select($var,$tab,$cri);
$moreInfo = (new sql)->select($var2,$tab2,$cri2);
$evenMoreInfo = (new sql)->select($var3,$tab3,$cri3);
将是有益的,使我sql
类的方法静态的?
或者每次我想进行查询时(例如下面的例子 - 引用为例2),我不应该创建一个sql
对象的新实例吗?
$sql = new sql();
$dbInfo = $sql->select($var,$tab,$cri);
$moreInfo = $sql->select($var2,$tab2,$cri2);
$evenMoreInfo = $sql->select($var3,$tab3,$cri3);
如何以及何时是例#1比例#2更好的选择,反之亦然?
如果我假设示例#1将从数据库中获取最多资源,那么您何时会选择示例#1而不是示例#2?
在第二个例子中,您将连接到数据库*一次* – 2013-04-23 10:03:31
另外,就像这个问题被简化了一样,我仍然不明白它将如何处理JOINS,子选择,WHERE条件如WHERE YEAR (日期)'2010'和'2013'之间或猫IN(1,2,3)',GROUP BY等...... – 2013-04-23 10:07:22