我知道这是非常基本的,并且考虑到我在数据库方面所处的位置,我现在可能应该理解这一点,但我并不完全理解索引的真正含义。
具体来说,以下是由 ORM 生成的 T-SQL - 它创建一个 FK,然后为其创建一个索引。
有索引有什么作用(在积极意义上),排除它有什么作用(在消极意义上)?
-- Creating foreign key on [item_id] in table 'CakeStats'
ALTER TABLE [dbo].[CakeStats]
ADD CONSTRAINT [FK_CakeStat_Item]
FOREIGN KEY ([item_id])
REFERENCES [dbo].[Items]
([id])
ON DELETE NO ACTION ON UPDATE NO ACTION;
-- Creating non-clustered index for FOREIGN KEY 'FK_CakeStat_Item'
CREATE INDEX [IX_FK_CakeStat_Item]
ON [dbo].[CakeStats]
([item_id]);
GO