php 查询数据库 刷新,这个每次刷新都要去数据库里面查询一遍吗?
頁面需要用到總的條數(shù) 需要在這個頁面一直展示 那么這個代碼這樣寫可以嗎 每次刷新頁面都要去數(shù)據(jù)庫里面查詢一次嗎 是不是影響性能呢?如果數(shù)據(jù)庫有幾萬條數(shù)據(jù)怎么辦?
$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);
回復(fù)內(nèi)容:
頁面需要用到總的條數(shù) 需要在這個頁面一直展示 那么這個代碼這樣寫可以嗎 每次刷新頁面都要去數(shù)據(jù)庫里面查詢一次嗎 是不是影響性能呢?如果數(shù)據(jù)庫有幾萬條數(shù)據(jù)怎么辦?
$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);
為什么不用 select count(*) from table
$stmt=$pdo->prepare("select count(*) as num from table");
$stmt->execute();
$res=$stmt->fetch(PDO::FETCH_ASSOC);
return $res['num']
訪問峰值的時候有點占內(nèi)存了,可以考慮在insert語句和del語句的時候,把數(shù)據(jù)統(tǒng)計出來放在別的地方
你這么寫肯定是每次都連接,你可以單獨吧PDO封裝一個類,實用單例模式進行處理,就避免了每次執(zhí)行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 單例模式,實例化調(diào)用數(shù)據(jù)庫鏈接
*/
public static function calldb() {
if (self::$safepdo == null) {
self::$safepdo = self::pdolink ();
}
return self::$safepdo;
}
}
希望對你有幫助
相關(guān)標簽:php
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的php 查询数据库 刷新,这个每次刷新都要去数据库里面查询一遍吗?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机缺少php5.dll,php5is
- 下一篇: 重构改善既有代码的设计是php,下篇 |