MongoDB搜索慢查询并优化
项目一直在使用mongodb云数据库,最近发现数据库周期性的隔两天崩一次。客服人员一直告诉我们数据库存在大量的慢查询,一直在积压,所以导致数据库一部分业务表死锁了。搜索发现,MongoDB的慢查询都村在表文件中。使用db.system.profile可以查询到。db.system.profile.find({'millis':{$gt:2},'ts':{$gt:new ISODate('2020-
·
项目一直在使用mongodb云数据库,最近发现数据库周期性的隔两天崩一次。客服人员一直告诉我们数据库存在大量的慢查询,一直在积压,所以导致数据库一部分业务表死锁了。
搜索发现,MongoDB的慢查询都村在表文件中。使用db.system.profile可以查询到。
db.system.profile.find({'millis':{$gt:2},'ts':{$gt:new ISODate('2020-06-11 06:35:26.583Z')}}).sort({'millis':-1})
从表中能看到慢查询的一些信息,我们可以根据这些信息对业务或者sql进行相应的优化。
字段说明:
millis:sql耗时。
ns:表。
query:查询条件。
client:请求客户端IP。
慢查询的优化方式:
所有数据库查询优化基本上都是一样,
- 建立索引。
- 查询自己用到的字段。
- 减少聚合函数。
总之就是想尽一切办法减少sql扫描的记录数。
更多推荐
已为社区贡献1条内容
所有评论(0)