首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于不同的DB引擎,sql调优方法是否相同?

对于不同的DB引擎,sql调优方法是否相同?
EN

Database Administration用户
提问于 2018-03-17 13:58:28
回答 2查看 74关注 0票数 1

我在过去的半年中使用了Oracle,并学习了一些sql调优技巧,但现在我们的DB正在转向greenplum,项目经理建议我们修改用Oracle sql编写的一些代码,以提高它们的效率。

我很好奇,对于不同的DB引擎,比如oracle、postgresql、mysql等等,sql的调优方式是一样的吗?如果是或否,为什么?欢迎任何建议!

EN

回答 2

Database Administration用户

发布于 2018-03-17 19:39:29

“诀窍”是说服DBMS按照您希望的方式行事。这些都是庞大而复杂的软件。没有两个人的行为完全一样。因此,影响一个人的技巧可能对另一个人起作用,也可能不起作用。

良好的实践,例如只检索实际需要的列,在任何地方都适用。

票数 2
EN

Database Administration用户

发布于 2018-03-18 18:26:44

(请注意:我主要知道MySQL。)

最基本的事情之一是不同的:

  • 许多供应商都有一个ROWNUM,可以通过它获取一行。
  • MySQL的MyISAM在PRIMARY和辅助键的文件中使用字节偏移量。
  • MySQL的InnoDB将PRIMARY KEY与数据“集群”在一起,从而避免了通过ROWNUM。次要键是另一回事。

这样做的一个副作用是“索引合并相交”(在一个查询中使用两个索引)不如构建一个复合索引(用于MySQL)。

另一件事:

  • 许多供应商有很多索引类型(BTree、Hash、Bit、.)
  • MySQL只有(少数例外) BTree --它是如此的多才多艺和高效,以至于实现者认为其他索引类型不值得支持。
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/201537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档