每次得到表的行数时总要用count(*),但是如果数据量较大,用count(*)且后面有条件时,例如select count(*) from table where status=1 (例如status是删除的状态位)结果准确但是时间太长,若去掉status=1这个条件速度没的说,但是结果却不是我想要的status=1的准确值,请问有没有好的办法解决这个问题, 另:昨天听mysql中国的技术支持说求表的总行数可以用count_row(),这个值是存到内存里去的,但是我没有找到这个函数,只找到个row_count(),...
by lgmyxbjfu - MySQL - 2008-01-25 11:18:29 阅读(2540) 回复(0)
每次得到表的行数时总要用count(*),但是如果数据量较大,用count(*)且后面有条件时,例如select count(*) from table where status=1 (例如status是删除的状态位)结果准确但是时间太长,若去掉status=1这个条件速度没的说,但是结果却不是我想要的status=1的准确值,请问有没有好的办法解决这个问题, 另:昨天听mysql中国的技术支持说求表的总行数可以用count_row(),这个值是存到内存里去的,但是我没有找到这个函数,只找到个row_count(),...
Server version: 5.1.40 我的表里有45万条记录,select count(1) from 要25秒,这正常吗? 我的表结构如下: Field Type Collation Null ------ ------ --------- ------ ------ qqid int(5) (NULL) NO PRI qqs int(8) (NULL) NO qlq int(2) (NULL) NO jqid int(5) (NULL) NO jqs int(8) (NULL) NO ...
我有个小程序,要经常比较表中记录的数量有没有改变,我用下面的语句: select count(*) as TotalNum from TableName; 当记录少时还可以,当记录上几十万的规模时,速度难以接受。请问要怎样才能快速取得表中记录的数量?有没有现成的函数? 谢谢先!
本帖最后由 unix_zzc 于 2010-05-06 15:34 编辑 count=0 "count=$count+1"与"count=`expr $count + 1`"有什么不同,请高手指点,谢谢!
mysql> select count(id) from post; +-----------+ | count(id) | +-----------+ | 18836 | +-----------+ 1 row in set (1.06 sec) 我的怎么慢得要死 innodb数据库 服务器配置 P4 3.0 1G 服务器基本上没有什么访问量 是innodb的问题 在select 前先运行 set autocommit=0 再select count() from t 速度是慢 转换成myisam速度马上提上去了 mysql> select count(*) f +----------+ | count(*) | +----------+ | 18836 | +-...
在存储过程中加入错误处理,想把异常的SQLSTATE记录到日志表中,如何实现?因为数据处理的情况比较多,也不确定会发生什么样的错误,只需要记录下来就可以了
请问:mysql中的一个只有2项的表,每项都是char(1),可以添加2576980377条记录, 4项的表,每项都是char(1),可以添加4294967295条记录,怎么差别那么大啊? 有什么规律么?