頁面需要用到總的條數 需要在這個頁面一直展示 那麼這個代碼這樣寫可以嗎 每次重新整理頁面都要去資料庫裡面查詢一次嗎 是不是影響效能呢?如果資料庫有幾萬條資料怎麼辦?
$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);
請先 登入 後評論
預設排序 時間排序
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; }}
希望對你有協助