你的位置:
问答吧
-> PHP基础
-> 问题详情
查询一个60万记录的数据表,速度非常慢,请高手看下
select count(id) form table
这样查询的时候,2秒内可以出结果
select count(id) from table where FIND_IN_SET(gid,'$b');
这样查询的时候,半小时也不出结果
说一下变量 $b , $b 是一个字符串,专门放ID号的,中间用逗号隔开.
比如: $b="101,102,103"; 就说明里面放了三个ID号,也就是上面的 gid.
现在 $b 内有一千多个ID号,也就是这个字符串将会很长了.
table 表有 60万左右记录, gid 是table 表的一个字段,要将 gid 在 $b 内有的值全查出来的话,就要用: FIND_IN_SET(gid,'$b');
但速度巨慢,有没有好的方法呢?
听说用全局临时表可以解决,谁用过MYSQL临时表?
作者: yanglei1979
发布时间: 2008-02-04
select count(id) form table
这样查询的时候,2秒内可以出结果
作者: lyhiving
发布时间: 2008-02-04
就这个2秒就已经很恐怖了,
而且你的才60w的数据量,检查下索引吧
作者: lyhiving
发布时间: 2008-02-04
gid所在表加个字段,专门拿来做统计
作者: 迎风
发布时间: 2008-02-04