我有一個有點複雜的查詢大約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