这可能是一个基于意见的问题,但这里有:
我发现了一个有趣的实体框架和数据库迁移的怪癖.看来每当我们创建一个外键时,它也会在该列上创建一个索引.
我读了这个问题:实体框架代码第一外键添加索引,每个人似乎都说这是一个伟大,有效的想法,但我不知道如何; 索引列非常特定于环境.例如,EF在我的表上索引FK,几乎从不(~1%)用于搜索,也在源表上,这意味着即使我加入其他表,我也在使用它的PK搜索FK的链表......在那种情况下(我知道)将FK编入索引没有任何好处.
我的问题:
我错过了什么吗?是否有某些原因我想要索引一个从未搜索过的FK列,并且总是在任何连接的源表中?
我的计划是删除一些可疑的索引,但我想确认没有一些我缺少的优化概念.
我正在使用EF6
代码优先的方法来创建数据库。当我添加迁移和更新数据库时,它总是Non-cluster Index
默认为表中的每个外键创建。
我的问题: EF6 是否有任何全局设置不能Non-Cluster index
在外键上创建?
我已经搜索并找到了以下解决方案
解决方案 1 不适合我,因为我有很多表,而且我的表db
已经创建好了。手动删除索引创建行需要很多时间。
此外,我也在使用fluent api
是否有与此问题相关的任何选项?