我有一个有点复杂的查询大约100K行。MySQL与SQL Server Express性能比较
查询在SQL Server Express中13秒运行(在我的dev的盒子上运行)
具有相同的索引和表同样的查询将接管15分钟以上对MySQL 5.1中运行(在我的箱子生产运行 - 功能更加强大,并且测试了100%的资源)有时,查询会导致计算机崩溃,导致内存不足错误。
我在做什么MySQL错误?为什么需要这么长时间?如果有效的指标是可用
select e8.*
from table_a e8
inner join (
select max(e6.id) as id, e6.category, e6.entity, e6.service_date
from (
select e4.*
from table_a e4
inner join (
select max(e2.id) as id, e3.rank, e2.entity, e2.provider_id, e2.service_date
from table_a e2
inner join (
select min(e1.rank) as rank, e1.entity, e1.provider_id, e1.service_date
from table_a e1
where e1.site_id is not null
group by e1.entity, e1.provider_id, e1.service_date
) as e3
on e2.rank= e3.rank
and e2.entity = e3.entity
and e2.provider_id = e3.provider_id
and e2.service_date = e3.service_date
and e2.rank= e3.rank
group by e2.entity, e2.provider_id, e2.service_date, e3.rank
) e5
on e4.id = e5.id
and e4.rank= e5.rank
) e6
group by e6.category, e6.entity, e6.service_date
) e7
on e8.id = e7.id and e7.category = e8.category
我会更担心它崩溃了! – 2009-01-02 01:22:23
大声笑 - 这就是为什么我要迁移到SQL Server ... – mson 2009-01-02 01:25:42
说实话,我没有看到这里有一个真正的问题。 – 2009-01-02 01:26:22