0

最近、PHP アプリケーションのデータ層を完成させました。私のデータ層には、selects、insert、delete などのさまざまな SQL タスクを実行するためのさまざまな方法があります。

最近のコード レビューで、私はこの慣行について質問され、同僚は、アプリケーションの存続期間中は接続を開いたままにしておくのが最善であると述べました。彼らの理由は、接続の開閉には時間がかかるからです。私の主張は、それらを開いたままにしておくとリソースが消費されるということです。以下は、選択クエリを実行するデータ レイヤーのコード サンプルです。私はPHPにかなり慣れていないので、批判に対する反応はありません。誰でもこれについての洞察を提供できますか?

    public static final function executeSelectQuery($qry){
        $connection = mysql_connect(ADS_DB_HOST, ADS_DB_USERNAME, ADS_DB_PASSWORD) or die(ADS_ERROR_MSG . mysql_error());
        $db = mysql_select_db(ADS_DB_NAME) or die(ADS_ERROR_MSG . mysql_error());
        $result = mysql_query($qry) or die(ADS_ERROR_MSG . mysql_error());
        mysql_close();

        $results = array();
        while($rows = mysql_fetch_assoc(($result))){
            $results[] = $rows;
        }
        return sprintf('{"results":{"rows":%s}}', json_encode($results));
    }
4

2 に答える 2

0

速度とメモリ使用量のトレードオフの典型的なケース。この質問には、万能の答えはありません。着手している特定のプロジェクトにとって、2 つのうちどちらが最も重要であるかによって決まります。

編集: 新しいコメントを読んだ後、このプロジェクトはモバイル デバイスを対象としていることがわかりました。この場合、モバイル デバイスのメモリは限られているため (最近のほとんどのデスクトップで利用できるボートロードとは対照的に)、メモリの使用を優先することが正しい判断であると言えます。

于 2013-07-13T14:49:41.327 に答える