假设我们有两个表-表A和表B,这两个表都有500万条记录。它们有共同的字段,id和name。我想检查一下,如果我们在连接表时应用于连接字段,那么索引会有什么影响,以及当连接表时,索引对select列有什么影响。下面是查询
select t1.name from table A t1 inner join table B t2 on t1.id=t2.id;为了获得更快的结果,我应该在哪个字段上创建索引。我应该把索引放在id上还是name上?请帮帮忙
我的预期是,如果我们将索引放在id列上,那么查询将在较短的持续时间内给出结果,而如果我们将索引放在name字段上。
寻找性能改进
我的预期是,如果我们将索引放在id列上,那么查询将在较短的持续时间内给出结果,而如果我们将索引放在name字段上。
发布于 2019-05-28 20:30:44
对于此查询:
select t1.name
from tableA t1 inner join
tableB t2
on t1.id = t2.id;我认为最好的索引应该是tableB(id)。这是用于JOIN的密钥。
在某些情况下,在tableA(id, name)上建立索引可能是最佳选择。如果tableA比tableB大得多,这一点尤其正确。
https://stackoverflow.com/questions/56342298
复制相似问题