SQL*_*Guy 5 sql t-sql indexing sql-server-2012
我想知道索引一个只包含一列的表是否有意义?该表将填充100或1000的记录,并将用于加入另一个(较大的表)以过滤其记录.
谢谢!
是和不是。明确的索引可能没有意义。primary key但是,通常会将单个列定义为 a (假设它从不NULL且唯一)。
这实际上是一种常见的做法。创建排除表对我来说并不罕见,其逻辑如下:
from . . .
where not exists (select 1 from exclusion_table et where et.id = ?.id)
Run Code Online (Sandbox Code Playgroud)
主键索引可以加速此类查询。
在您的情况下,如果较大的表在用于连接的 id 上有索引,则可能不会产生任何影响。但是,您可以为优化器提供选择使用哪个索引的选项。