【问题标题】:Which is the most memory intensive SQL query: select, update or insert? [closed]哪个是内存最密集的 SQL 查询:选择、更新或插入? [关闭]
【发布时间】:2011-10-30 22:00:52
【问题描述】:

哪个是内存最密集的 SQL 查询:选择、更新或插入?为什么?

数据库由两个相互独立的简单表组成

【问题讨论】:

  • 取决于查询? SELECT "Constant" 不如 INSERT INTO table SELECT * FROM largetable, anotherlargetable 密集;)
  • 哪种是最消耗卡路里的自驱动模式:跑步还是骑自行车?为什么?
  • 马特,我在考虑类似类型的问题,但与比较手臂、胃和头部有关……哈哈
  • 太假设了,如果没有关于上下文的具体信息,就无法真正回答。
  • 您似乎对计算机如何使用内存以及 Oracle 如何使用它有一个非常简单的看法。 Oracle 有很多文档,可以在线获取。在这种情况下,您需要阅读概念指南,其中有整章介绍 Oracle 的内存架构:download.oracle.com/docs/cd/B28359_01/server.111/b28318/… 阅读它,然后向我们提出一些具体问题。

标签: sql oracle jdbc


【解决方案1】:

这实际上取决于查询中请求的内容以及每个表的大小。全选

SELECT * FROM Table

将消耗在该表中加载记录所需的任何内存。

【讨论】:

  • 不正确。整个结果集并不存储在内存中,而只是其中的一部分。
  • 没错,我编辑了我的评论以使这一点更清楚。我的意思是暗示某些记录比其他记录大,例如其中存储有 BLOB 的记录。
【解决方案2】:

在不知道实际语句的情况下很难说什么,但选择,尤其是具有许多记录的连接和结果集可能会占用更多内存

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多