這個每次重新整理都要去資料庫裡面查詢一遍嗎? - SegmentFault

來源:互聯網
上載者:User
關鍵字 php
頁面需要用到總的條數 需要在這個頁面一直展示 那麼這個代碼這樣寫可以嗎 每次重新整理頁面都要去資料庫裡面查詢一次嗎 是不是影響效能呢?如果資料庫有幾萬條資料怎麼辦?

$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");         $stmt=$pdo->prepare("select * from table1");         $stmt->execute();         $res=$stmt->fetchall(PDO::FETCH_ASSOC);         echo count($res);

回複內容:

頁面需要用到總的條數 需要在這個頁面一直展示 那麼這個代碼這樣寫可以嗎 每次重新整理頁面都要去資料庫裡面查詢一次嗎 是不是影響效能呢?如果資料庫有幾萬條資料怎麼辦?

$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");         $stmt=$pdo->prepare("select * from table1");         $stmt->execute();         $res=$stmt->fetchall(PDO::FETCH_ASSOC);         echo count($res);

  • 2 小時前提問
  • 評論
  • 邀請回答

請先 登入 後評論

預設排序 時間排序

3 個回答

答案對人有協助,有參考價值 1 答案沒協助,是錯誤的答案,答非所問

採納

為什麼不用 select count(*) from table

$stmt=$pdo->prepare("select count(*) as num from table");
$stmt->execute();
$res=$stmt->fetch(PDO::FETCH_ASSOC);
return $res['num']

訪問峰值的時候有點占記憶體了,可以考慮在insert語句和del語句的時候,把資料統計出來放在別的地方

你這麼寫肯定是每次都串連,你可以單獨吧PDO封裝一個類,實用單例模式進行處理,就避免了每次執行CURD的時候都要盡興串連操作了。我很早之前寫過的例子:

 TRUE,                    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,                    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'             ) );            return self::$safepdo;        } catch ( Exception $e ) {            throw $e;        }    }        /**     * description 覆蓋__clone()方法,禁止複製     */    private function __clone() {    }        /**     * description 單例模式,執行個體化調用資料庫連結     */    public static function calldb() {        if (self::$safepdo == null) {            self::$safepdo = self::pdolink ();        }        return self::$safepdo;    }}

希望對你有協助

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.