我在过去的半年中使用了Oracle,并学习了一些sql调优技巧,但现在我们的DB正在转向greenplum,项目经理建议我们修改用Oracle sql编写的一些代码,以提高它们的效率。
我很好奇,对于不同的DB引擎,比如oracle、postgresql、mysql等等,sql的调优方式是一样的吗?如果是或否,为什么?欢迎任何建议!
发布于 2018-03-17 19:39:29
“诀窍”是说服DBMS按照您希望的方式行事。这些都是庞大而复杂的软件。没有两个人的行为完全一样。因此,影响一个人的技巧可能对另一个人起作用,也可能不起作用。
良好的实践,例如只检索实际需要的列,在任何地方都适用。
发布于 2018-03-18 18:26:44
(请注意:我主要知道MySQL。)
最基本的事情之一是不同的:
ROWNUM
,可以通过它获取一行。PRIMARY
和辅助键的文件中使用字节偏移量。PRIMARY KEY
与数据“集群”在一起,从而避免了通过ROWNUM
。次要键是另一回事。这样做的一个副作用是“索引合并相交”(在一个查询中使用两个索引)不如构建一个复合索引(用于MySQL)。
另一件事:
https://dba.stackexchange.com/questions/201537
复制相似问题