假设我在数据库中设置了一个ID行(int)作为主键.如果我经常查询ID,我还需要索引它吗?或者它是主键意味着它已经被索引了?
我问这个问题的原因是,在MS SQL Server中,我可以在此ID上创建一个索引,正如我所说的,它是我的主键.
编辑:另外一个问题——对主键进行额外索引会有什么害处吗?
假设我在数据库中设置了一个ID行(int)作为主键.如果我经常查询ID,我还需要索引它吗?或者它是主键意味着它已经被索引了?
我问这个问题的原因是,在MS SQL Server中,我可以在此ID上创建一个索引,正如我所说的,它是我的主键.
编辑:另外一个问题——对主键进行额外索引会有什么害处吗?
没错,SQL Server允许您在同一个字段上创建重复的索引,这令人困惑.但是,您可以创建另一个PK索引,这并不意味着PK索引也不存在.
额外的索引没有好处,但唯一的危害(非常小)是额外的文件大小和行创建开销.