oracle的SQL为何慢于国产数据库

flzhang flzhang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想对一条SQL语句进行优化,原来的SQL是这样的

SELECT * FROM item, author WHERE item.i_a_id = author.a_id AND item.i_subject = 'arts' ORDER BY item.i_title limit 50

语意:找出前50本艺术类的书籍(这条SQL的语法是针对国产数据库的)

针对国产数据库优化的SQL
SELECT * FROM ( select * from item where item.i_subject = 'arts' ORDER BY item.i_title limit 50) aa, author WHERE aa.i_a_id = author.a_id

针对ORACLE优化的SQL
SELECT * FROM ( select * from(select * from item where item.i_subject = 'arts' ORDER BY item.i_title) where rownum<51 ) aa, author WHERE aa.i_a_id = author.a_id

在国产数据库和ORACLE上对比优化SQL的查询速度,ORACLE的速度比国产数据库差的比较多,无论是单条语句的执行还是并法测试时,想请大家帮我分析下,针对ORACLE的这种优化方式是不是最佳方式,是不是这种非最佳的优化方式造成ORACLE的查询速度不如国产数据库快呢?
如果有更好的对oracle的优化方式请指教 谢谢了!
...全文

相关推荐

评论 42
收藏 已收藏
分享
返回顶部
flzhang
Oracle 高级技术 3,499 成员 18,710 内容