在查询记录方面,MySQL有slowlog和general log,而MongoDB同样可以使用profiler来记录操作日志。不同的是,profiler要么记录所有操作日志,或者慢查询日志,而不能想MySQL一样slow log和general log分开设置。
profiler的概念:
1.慢查询阈值,slowms;
2.profiling级别,可分为0,1,2三级;0表示关闭profiler,如果设置了slowms,即使关闭profiler也会将慢查询记录到运行日志中;1表示开启profiler并记录超过慢查询阈值的操作;2表示记录所有操作;
3.sampleRate抽样比例,记录慢查询的随机抽样比例;
4.system.profile表,用于存储profiler记录的操作,在开启profiler的Database下面会有一个system.profile表;
一、开启profiler
1.1 database级别,即只开启该库的profiler
user test
–进入test库
db.setProfilingLevel(2)
–开启profiler并设置为2级别
返回结果如下:
{ "was" : 0, "slowms" : 100, "sampleRate" : 1.0, "ok" : 1 }
was显示上一个profiler的级别;slowms显示慢查询阈值,默认是100ms;sampleRate表示慢查询抽样比例;ok表示是否执行成功。
db.setProfilingLevel(