首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提高性能SQL

提高性能SQL
EN

Stack Overflow用户
提问于 2013-03-15 19:08:49
回答 2查看 75关注 0票数 0

在同一个内部查询多次运行的情况下,有没有办法定制下面的SQL来提高性能?

代码语言:javascript
复制
DELETE FROM interactionrel 
WHERE  ( from_interact_id IN(SELECT interaction_id 
                             FROM   interaction 
                             WHERE  instance_pk = ?) ) 
        OR ( to_interact_id IN(SELECT interaction_id 
                               FROM   interaction 
                               WHERE  instance_pk = ?) ) 
EN

回答 2

Stack Overflow用户

发布于 2013-03-16 05:14:51

您可以尝试这样做--尽管您需要在优化器上运行它:

代码语言:javascript
复制
DELETE FROM interactionrel a
WHERE EXISTS (SELECT * 
              FROM interaction b
              WHERE b.instance_pl = ?
                    AND (b.interaction_id = a.from_interact_id
                         OR b.interaction_id = a.to_interact_id))
票数 2
EN

Stack Overflow用户

发布于 2013-03-15 19:18:33

代码语言:javascript
复制
DELETE il 
FROM   interactionrel il, 
       interaction 
WHERE  ( interaction.interaction_id = il.from_interact_id 
          OR interaction.interaction_id = il.to_interact_id ) 
       AND interaction.instance_pk = ? 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15430824

复制
相关文章

相似问题

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