200万记录下的select count(*) from table1 where name='xx' 该怎样写? 已经做了索引,但是速度还是慢的很。count100W需要11秒左右!比读去100W数据还慢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、为字段 name 创建索引;2、将SQL语句改为: select count(name) from table1 where name='xx' 其实count(name) 和count(*)是一样的,有时候甚至比count(*)还要慢呢。 晕哦,你没说清楚是什么数据库啊,你说的是mysql吧,如果是mysql的话,只有在innob的格式下,做索引才有用的,如果把myisam格式的话是没有用的。我一开始以为你说的是sql server呢。 keenx(老刀) ( ) 信誉:95 晕哦,你没说清楚是什么数据库啊,你说的是mysql吧,如果是mysql的话,只有在innob的格式下,做索引才有用的,如果把myisam格式的话是没有用的。-----------------------------------------这是哪来的理论? 感觉在count(*)计算后索引没什么用啊? 其实还得看name是什么类型的数据 不会吧,count(*)是最快的了,200万不算多啊 5zero(秋风) ( ) 信誉:100 2006-07-14 11:02:00 得分: 0 order by 可否做索引?? --------------------------------------------可以 索引只能帮助你快速的找到name=xx的开头。如果你name=xx的记录有100w,那么有索引依然要遍历100w记录,遍历这么多数据再快也是秒级的。对于有大量同名的计数只能在insert、delete时自己维护一个计数器。 select count(1) from table1 where name='xx'再看,这下肯定会快起来的 yibotiemen(易通) ( ) 信誉:100 2006-07-16 19:42:00 得分: 0 select count(1) from table1 where name='xx'再看,这下肯定会快起来的-------------------------果然快得飞起了。我测试了2百万记录。开机第一次花了39秒。然后的都是1,2秒。真快啊真快啊真快啊,真快啊 对一个大表。count只应用于全表的情况。有where时都不应该用count。 除非你确定where出来的结果不会太大。 问一个比较基础的包含路径问题。 PHP+Apache不报错! php 调用存储过程 httpd.ini中如何定义301转向! (在线等) 如何让一段html代码经过php程序的if语句判断后显示???? 关于pw插件和数据库查询。 如何往Json数据中添加一个根键????? 求 NuSphere PhpED 4.6.2 的key 我的imail7.15为什么不接收类似于[email protected]格式的邮箱发送的邮件? [email protected]格式的邮件没有问题! 请大家列举一下www.51.net的缺点和不足。 大家帮忙给我参考一下,谢谢了! 熟悉blog开发的大虾请进!
2、将SQL语句改为: select count(name) from table1 where name='xx'
晕哦,你没说清楚是什么数据库啊,你说的是mysql吧,如果是mysql的话,只有在innob的格式下,做索引才有用的,如果把myisam格式的话是没有用的。
-----------------------------------------这是哪来的理论?
order by 可否做索引??
--------------------------------------------可以
再看,这下肯定会快起来的
select count(1) from table1 where name='xx'
再看,这下肯定会快起来的
-------------------------果然快得飞起了。我测试了2百万记录。开机第一次花了39秒。然后的都是1,2秒。真快啊真快啊真快啊,真快啊