0

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连接!

4

4 回答 4

3

当你只需要计算记录时,你应该使用COUNT()mysql的功能,而不是加载所有记录。

$query="SELECT COUNT(*) AS num FROM `table` WHERE `abc`='123'";

第二,使用PDO代替mysql_函数。

于 2012-08-30T02:48:33.333 回答
2

为什么不让数据库来做 - 一个简单的怎么样

SELECT COUNT(*) FROM table WHERE abc=123;
于 2012-08-30T02:48:03.427 回答
1

mysql有一个计数功能:

http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html

所以你可以使用:

SELECT COUNT(*) FROM table WHERE abc=123

或任何条件。

于 2012-08-30T02:49:09.557 回答
1
$query="SELECT COUNT(id) FROM `table` WHERE `abc`='123'";
$result = mysql_query($query);
$count = mysql_fetch_row($result);

这将工作得又快又轻。此外,正如Jack上面评论中所说,您应该使用 MySQLi 或 PDO,因为 PHP 已弃用 MySQL 插件。

于 2012-08-30T02:51:05.263 回答