首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么将<>更改为!=会导致我的查询运行时间增加一倍?

为什么将<>更改为!=会导致我的查询运行时间增加一倍?
EN

Stack Overflow用户
提问于 2020-12-03 01:07:31
回答 1查看 59关注 0票数 1

据我所知,这两者是同义词。但是,将<>更改为!=会将我的持续时间从9-10秒增加到18-19秒。

我的查询如下所示

代码语言:javascript
复制
select cast(Item.type as char), (IFNULL(SUM(IFNULL(Item.amount, 0)),0) + IFNULL(Refund.amount ,0)) *-1 
from Item
join Billing on Billing.id = Item.bill_id
join Payment_Item pi on Item.id = pi.Item_id
left join Payment p on p.id = pi.payment_id
left join Refund on Refund.type = Item.type
     where Billing.year = 2020
     and Billing.Code <> 075
     group by Item.type

如果我将Billing.Code <> 075更改为Billing.Code != 075,那么我的持续时间会急剧增加

为了了解更多信息: Explain不显示使用<>的查询和使用!=的查询之间的任何差异

*编辑查询以简化查询

**不再需要两倍的时间。我不知道为什么,我没有做任何改变,而且它之前一直在做。

EN

回答 1

Stack Overflow用户

发布于 2020-12-03 01:16:15

您可以尝试为某些表创建索引,索引通常是在要比较的表的共享属性上完成的,例如,查看查询中两个表之间的共享属性是否相等。

代码语言:javascript
复制
CREATE INDEX <index_name> ON <tablename>(<attribute_name>);  

其中属性名通常是表的主键。

希望这能有所帮助

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65112814

复制
相关文章

相似问题

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