我已經使這個類來處理我所有的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