Mongodb C# 索引是否应该在数据库的生命周期中只注册一次?



这个问题可能很愚蠢,但是尽管有很多关于创建索引并在mongodb中使用它们的文档,但我还没有找到一些东西来说明何时应该设置索引。 例如,文档中非常精确地指出,bson 类映射应该在连接到数据库之前设置一次。 但是,我只想确定这一点:有人可以向我确认是否仅在数据库的生命周期中设置一次索引吗?

我目前正在做的是运行代码以在每次初始化需要数据访问代码的服务时注册索引。 但这是最好的方法吗?

检查是否在每次服务启动时都创建了索引是一种昂贵的方法。大多数情况下,您的索引已经存在,并且您正在从数据库中提出一个不需要回答的问题。因此浪费资源。

检查索引并跟踪需要和不需要的内容的理想方法是在部署管道(CI/CD 管道(中。因此,这不仅仅是检查您需要哪些索引以及它们是否存在的问题。您也应该做相反的事情,并删除不再需要的索引。

另外,请确保不是在每个请求中都创建新的MongoClient对象;使用依赖注入。

最新更新