首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么样的索引将有助于加快我的加入?

什么样的索引将有助于加快我的加入?
EN

Stack Overflow用户
提问于 2014-09-10 02:07:51
回答 2查看 45关注 0票数 0

我有两张桌子,一张小桌子,一张大桌子。我在ipaddr列上有索引,我将使用它来加入它们。

我的疑问是

代码语言:javascript
复制
select m.ipaddr, m.machineclass
from meta m
join metastatus s on s.ipaddr = m.ipaddr
where m.machineclass = 'atm'
limit 1000;

这是计划

显然,不能使用转移瘤的ipaddr指数。我想得到一些建议。在这种情况下添加索引会有帮助吗?或者我能做些什么来加速查询呢?

更新:转移瘤的ipaddr指数是聚集指数。我觉得这很重要?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-10 02:37:19

我不认为这与你的索引是否被聚集有任何关系。

要使此查询高效工作,应在(machineclass, ipaddr)表中创建复合索引meta

代码语言:javascript
复制
CREATE INDEX meta_machineclass_ipaddr_idx (machineclass, ipaddr);

只要machineclass='atm'具有很高的选择性(或者所有行中的10%都是'atm'类),这就应该工作得很好。

票数 0
EN

Stack Overflow用户

发布于 2014-09-10 02:25:40

元表应该有一个索引on (machineclass)来限定where子句。如您已经指出的,元状态应该具有on (ipaddr)。

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

https://stackoverflow.com/questions/25756262

复制
相关文章

相似问题

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