c# - Mongodb C#是否应该在数据库的生命周期中只注册一次索引?
问题描述
这个问题可能很愚蠢,但是尽管有很多关于在 mongodb 中创建索引和使用它们的文档,但我还没有找到可以说明何时应该设置索引的东西。例如,文档中明确指出,bson 类映射应该在连接到数据库之前设置一次。但是,我只想确定这一点:有人可以向我确认索引是否仅在数据库的生命周期中设置一次吗?
我目前正在做的是在每次需要数据访问代码的服务初始化时运行代码来注册索引。但这是否是最好的方法?
解决方案
检查是否在每次服务启动时都创建了索引是一种昂贵的方法。大多数时候,您的索引已经存在,并且您正在从数据库中询问一个不需要回答的问题。因此浪费资源。
检查索引和跟踪需要什么和不需要什么的理想方法是在您的部署管道(CI/CD 管道)中。因此,这不仅仅是检查您需要哪些索引以及它们是否存在的问题。你也应该做相反的事情,并删除你不再需要的索引。
此外,请确保您没有为每个请求创建新的 MongoClient 对象;使用依赖注入。
推荐阅读
- sql - 如何获取子记录或父记录 SQL
- java - 当服务器发送 FIN 数据包时,Socket.getInputStream.read(...) 在 Android 上抛出 SocketException
- reactjs - 为什么 createRef() 返回 current: null?
- javascript - 尝试使用高阶函数和回调访问 HTML 计算器
- python-3.x - 使用 selenium 抓取博彩网站的网页。不完整的事件列表
- iptables - iptables 设置似乎阻止了所有流量
- java - 生成 64 位唯一 ID
- symfony - 在 OSX 上运行的 Symfony 3 应用程序
- sql - BigQuery 帮助 - 如何转换并转换为浮点和日期格式
- php - 主机名可以注入 SQL 吗?