这个表a有130万条记录
select distinct a.id,a.name,a.birthdate
from a t1, a t2 ,c ,d
where trim(ifnull(t1.ip,'')) <>''
and trim(ifnull(t2.ip,'')) <>''
and t1.ip=t2.ip
and t1.id != t2.id
and t1.id=c.id
and t1.id=d.id
order by a.birthdate 执行发现很慢 , 有1个多小时,
几乎要放弃。
现在思考 如何针对大表计算sql的计算量
select distinct a.id,a.name,a.birthdate
from a t1, a t2 ,c ,d
where trim(ifnull(t1.ip,'')) <>''
and trim(ifnull(t2.ip,'')) <>''
and t1.ip=t2.ip
and t1.id != t2.id
and t1.id=c.id
and t1.id=d.id
order by a.birthdate 执行发现很慢 , 有1个多小时,
几乎要放弃。
现在思考 如何针对大表计算sql的计算量
解决方案 »
- MYSQL恢复
- mysql新手,请教过来人推荐一本经典的初学教材,谢谢。(权威点的)
- 版主进来帮看下,这个sql应该如何写?谢谢!
- 再出100分提问
- MySQL 中的正则表达式问题, 无法使用 "?<=" 运算符?? 总出现 "repetition-operator operand invalid" 错误.
- 为什么?返回空,不是乱码(100分)
- 请问: mysql的数据库在windows2000的服务器如何配置?
- Hibernate用sql查询mysql的char类型字段问题
- 求教个问题,不知道方法正确与否,请指点一下
- mysql中这两条查询语句查询结果都是考试批次,但是怎么给他合并成一条查询语句去查询?求大神帮助
- 请大侠出手:从MySQL中导一张表到SQL SERVER中
- 该死的,循环插入怎么老是报语法错误捏
这个sql已经执行快2小时
已经没耐心 , 问题是他还在不停的及时加入新数据 sessionlog
有没有什么办法可以做这个sql??
现在如何去掉这个sql语句
from a t1, a t2 ,c ,d
wheret1.lastaccess<='2009-06-01' and t1.lastaccess>='2009-05-01' and
t2.lastaccess<='2009-06-01' and t2.lastaccess>='2009-05-01' and trim(ifnull(t1.ip,'')) <>''
and trim(ifnull(t2.ip,'')) <>''
and t1.ip=t2.ip
and t1.id != t2.id
and t1.id=c.id
and t1.id=d.id
order by a.birthdate 我这样限制到一个月的数据 但是还是不能看到数据 已经半小时
索引加到了ip,
现在我想最大的原因在 ip字段
10.232.232.123 这样 是字符型的 ,比较需要耗尽大量的资源。
当初的设计导致处理很艰难。按照道理应该处理成hash数字。
现在该如何处理这个ip字段 。