すべての 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 が過負荷になるのでしょうか? (例 #1 と呼ぶ)
$dbInfo = (new sql)->select($var,$tab,$cri);
$moreInfo = (new sql)->select($var2,$tab2,$cri2);
$evenMoreInfo = (new sql)->select($var3,$tab3,$cri3);
sql
クラスのメソッドを静的にすることは有益でしょうか?
sql
または、クエリを作成するたびにオブジェクトの新しいインスタンスを作成する必要はありません(以下の例のように - 例 #2 と呼ばれます)。
$sql = new sql();
$dbInfo = $sql->select($var,$tab,$cri);
$moreInfo = $sql->select($var2,$tab2,$cri2);
$evenMoreInfo = $sql->select($var3,$tab3,$cri3);
例 #1 が例 #2 よりも優れているのはどのような場合で、その逆はいつですか?
例 1 が DB から最も多くのリソースを取得すると仮定すると、例 2 ではなく例 1 を選ぶのはいつですか?