查看创建索引,分析表和分析索引的进度

 查看创建索引,分析表和分析索引的进度

SELECT  SID,  decode(totalwork, 0, 0, round(100 * sofar/totalwork, 2)) "Percent", message "Message", start_time, 
elapsed_seconds, time_remaining  from V$Session_longops 
--where sid = 50


select distinct t.OBJECT_NAME from v$segment_statistics t where t.OWNER='MYWORK' and T.OBJECT_TYPE = 'TABLE'; 


<think>我们参考引用[2]中提到的内容:MongoDB后台创建索引时,可以使用`db.currentOp()`命令来查看索引创建进度。 具体命令如下: ```javascript db.currentOp( { $or: [ { op: "command", "query.createIndexes": { $exists: true } }, { op: "insert", ns: /\.system\.indexes\b/ } ] } ) ``` 这个命令会返回当前操作中正在创建索引的相关信息,包括进度等。 另外,引用[1]中也提到了索引管理部分,其中在“监控索引构建进度”一节提到了两种方式:MongoDB日志监控SHELL监控。这里SHELL监控就是指上述命令。 因此,我们可以总结出两种方法: 1. 使用上述`db.currentOp()`命令在shell中监控。 2. 通过MongoDB的日志文件来监控(需要查看日志输出)。 考虑到用户直接询问的是方法,我们给出具体步骤。 注意:在后台创建索引(使用`background: true`选项)时,索引构建过程不会阻塞其他操作,但我们可以通过上述方法监控进度。 因此,回答如下: </think>### MongoDB查看创建索引进度的方法 在MongoDB中监控索引创建进度主要有以下两种方法,结合引用内容说明如下: #### 1. 使用`db.currentOp()`命令监控(推荐) 这是官方推荐的标准方法,通过查询当前操作来跟踪索引创建状态: ```javascript db.currentOp({ $or: [ { op: "command", "query.createIndexes": { $exists: true } }, { op: "insert", ns: /\.system\.indexes\b/ } ] }) ``` **输出说明**: - `msg`字段显示进度百分比(如`Index Build (background) 35%`) - `locks`字段显示索引操作占用的锁 - `secs_running`显示已执行时间 - 当查询返回空结果集时,索引创建完成[^2] #### 2. 通过MongoDB日志监控 在mongod服务日志中会实时输出索引创建进度: ```log {"t":{"$date":"2023-08-15T10:23:15.123+08:00"},"s":"I", "c":"INDEX", "id":20384, "msg":"Index build: done building", "attr":{"namespace":"test.users","index":"username_1","commitTimestamp": ...}} ``` **关键日志标记**: - `Index build starting`:索引构建开始 - `Index build: building index`:进度百分比 - `Index build: done building`:构建完成[^1] ### 注意事项 1. **后台索引**:使用`background: true`参数创建索引时才能实时查看进度(默认前台索引会阻塞操作) ```javascript db.collection.createIndex({field:1}, {background: true}) ``` 2. **性能影响**:监控命令本身会消耗资源,建议在低峰期执行 3. **强制索引风险**:若索引创建后查询性能未提升,应通过`explain()`分析执行计划,避免强制使用低效索引[^3] --- ### 相关问题 1. 如何创建后台索引以避免阻塞数据库操作? 2. MongoDB索引创建失败时有哪些常见原因? 3. 如何使用`explain()`分析MongoDB查询是否使用了正确索引? 4. 索引创建完成后如何验证其有效性? [^1]: MongoDB索引管理文档 [^2]: 索引构建进度监控方法 [^3]: MongoDB索引使用注意事项
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值