[英]my sql best practice with php for counting rows
1)計數記錄:
//Connect to mysql server
$link = mysql_connect(HOST, USER, PASSWORD);
if(!$link) {
die('Could not connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DATABASE);
if(!$db) {
die("cannot use the database");
}
mysql_set_charset('charset=utf8',$link);
$query="SELECT `id`FROM `table` WHERE `abc`='123'";
$result=mysql_query($query);
$count= mysql_num_rows($result);
我正在用它來計數記錄。 該表有500K條記錄。 記錄記錄的最佳做法是什么?
2)我是初學者@ mysql和php。 我是否錯過了上面腳本中的某些內容? 我想我最終需要關閉mysql連接!
當只需要對記錄進行計數時,應使用mysql的COUNT()
函數,而不是加載所有記錄。
$query="SELECT COUNT(*) AS num FROM `table` WHERE `abc`='123'";
其次,使用PDO
代替mysql_
函數。
為什么不讓數據庫來做呢?
SELECT COUNT(*) FROM table WHERE abc=123;
mysql具有計數功能:
http://dev.mysql.com/doc/refman/5.1/zh-CN/counting-rows.html
因此您可以使用:
SELECT COUNT(*) FROM table WHERE abc=123
或任何條件。
$query="SELECT COUNT(id) FROM `table` WHERE `abc`='123'";
$result = mysql_query($query);
$count = mysql_fetch_row($result);
這將快速而輕松地工作。 另外,正如Jack
在上述評論中所述,您應該使用MySQLi或PDO,因為MySQL插件已被PHP棄用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.