小编use*_*877的帖子

使用Order By子句在MySQL中对Rank函数进行排序

怎么可能这个(Oracle)SQL:

select a.*, rank() over (partition by a.field1 order by a.field2 desc) field_rank
from table_a a
order by a.field1, a.field2
Run Code Online (Sandbox Code Playgroud)

被翻译成MySQL?

这个问题看起来很相似,但在基本查询的最后没有Order By.此外,它是否由分区字段排序?

mysql oracle rank

9
推荐指数
1
解决办法
9055
查看次数

加入性能:Oracle vs MySQL

鉴于查询简化为以下形式:

select b.field1
from table_a a
    inner join table_b b on b.field1 = a.field1
    left join table_c c on c.field1 = a.field1
    left join table_d d on d.field1 = b.field1
    left join table_e e on e.field1 = b.field6
group by b.field1,
         b.field2,
         b.field3,
         b.field4,
         b.field5,

         e.field2,
         e.field3
;
Run Code Online (Sandbox Code Playgroud)

使用一定数量的数据,它在Oracle中运行20秒.Oracle中没有任何索引编入索引.迁移到MySQL后,查询不想完成(在几分钟内执行).有问题的每个字段都在MySQL中编入索引.Explain告诉一切都很好.

仍然无法工作后,分组字段获得多列索引.依然没有.

MySQL性能仍然存在巨大漏洞的问题是什么?有没有办法加快速度?

mysql sql oracle performance

1
推荐指数
1
解决办法
1979
查看次数

标签 统计

mysql ×2

oracle ×2

performance ×1

rank ×1

sql ×1