iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mongo如何查询慢日志以及创建索引
  • 746
分享到

mongo如何查询慢日志以及创建索引

2024-04-02 19:04:59 746人浏览 八月长安
摘要

这篇文章给大家分享的是有关monGo如何查询慢日志以及创建索引的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.查看mongoDB慢日志是否开起use LogDB;db.getP

这篇文章给大家分享的是有关monGo如何查询慢日志以及创建索引的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1.查看mongoDB慢日志是否开起

use LogDB;

db.getProfilingStatus();

2.开启慢日志,设置超过100毫秒的操作为慢操作

db.setProfilingLevel(1,100); 

3.查看慢日志内容

db.system.profile.find().sort({$natural:-1})

日志,

shard3:PRIMARY> db.system.profile.find().sort({$natural:-1})

{ "op" : "query", "ns" : "LogDB.Flashxxx", "command" : { "find" : "Flashxxx", "filter" : { "UserId" : { "$in" : [ "1111111" ] } }, "shardVersion" : [ Timestamp(0, 0), ObjectId("000000000000000000000000") ], "lsid" : { "id" : UUID("d08179ba-ecbd-4f9d-92e7-cd491e5a1d8a"), "uid" : BinData(0,"iwsImy7Wfk2mAp4o/uuD+I9mpETQtxb5PXo26pIQkS4=") }, "$clusterTime" : { "clusterTime" : Timestamp(1558696199, 3), "signature" : { "hash" : BinData(0,"Ht7EWhYpVLiy+DbH8Cu1Ijs6PNk="), "keyId" : NumberLong("6647500774429425691") } }, "$client" : { "driver" : { "name" : "mongo-csharp-driver", "version" : "2.7.0.0" }, "os" : { "type" : "windows", "name" : "Microsoft Windows 6.3.9600", "architecture" : "x86_64", "version" : "6.3.9600" }, "platfORM" : ".net Framework 4.0.0.0", "mongos" : { "host" : "new-mongo01:20000", "client" : "10.205.33.32:59518", "version" : "3.6.9" } }, "$configServerState" : { "opTime" : { "ts" : Timestamp(1558696196, 12), "t" : NumberLong(3) } }, "$db" : "LogDB" }, "keysExamined" : 0, "docsExamined" : 37428, "cursorExhausted" : true, "numYield" : 292, "locks" : { "Global" : { "acquireCount" : { "r" : NumberLong(586) } }, "Database" : { "acquireCount" : { "r" : NumberLong(293) } }, "Collection" : { "acquireCount" : { "r" : NumberLong(293) } } }, "nreturned" : 1, "responseLength" : 673, "protocol" : "op_msg", "millis" : 104, "planSummary" : "COLLSCAN", "execStats" : { "stage" : "COLLSCAN", "filter" : { "UserId" : { "$eq" : "11111111115" } }, "nReturned" : 1, "executionTimeMillisEstimate" : 100, "works" : 37430, "advanced" : 1, "needTime" : 37428, "needYield" : 0, "saveState" : 292, "restoreState" : 292, "isEOF" : 1, "invalidates" : 0, "direction" : "forward", "docsExamined" : 37428 }, "ts" : ISODate("2019-05-24T11:09:59.346Z"), "client" : "10.205.34.91", "allUsers" : [ { "user" : "__system", "db" : "local" } ], "user" : "__system@local" }

注意COLLSCAN 是全表扫描。

查看执行计划:

 db.FlashClientData.find({UserId: 1000493111}).explain() 

 shard3:PRIMARY>  db.FlashClientData.find({UserId: 100049111}).explain() 

{

        "queryPlanner" : {

                "plannerVersion" : 1,

                "namespace" : "LogDB.Flashxxx",

                "indexFilterSet" : false,

                "parsedQuery" : {

                        "UserId" : {

                                "$eq" : 10x0493111

                        }

                },

                "winningPlan" : {

                        "stage" : "COLLSCAN",<<<<<<<<----全表扫描

                        "filter" : {

                                "UserId" : {

                                        "$eq" : 10x0493111

                                }

                        },

                        "direction" : "forward"

                },

                "rejectedPlans" : [ ]

        },

创建索引:

db.Flashxxx.createIndex( {UserId: 1} )  // 按age字段创建升序索引

db.Flashxxx.getIndexes() // 查询集合的索引信息

shard3:PRIMARY>  db.FlashClientData.find({UserId: 100049111}).explain() 

{

        "queryPlanner" : {

                "plannerVersion" : 1,

                "namespace" : "LogDB.FlashClientData",

                "indexFilterSet" : false,

                "parsedQuery" : {

                        "UserId" : {

                                "$eq" : 100049111

                        }

                },

                "winningPlan" : {

                        "stage" : "FETCH",

                        "inputStage" : {

                                "stage" : "IXSCAN",,<<<<<<<<

                                "keyPattern" : {

                                        "UserId" : 1

                                },

                                "indexName" : "UserId_1",

                                "isMultiKey" : false,

                                "multiKeyPaths" : {

                                        "UserId" : [ ]

                                },

                                "isUnique" : false,

删除指定的索引dropIndex()

db.COLLECTION_NAME.dropIndex("INDEX-NAME")

如,删除集合sites中名为"name_1_domain_-1"的索引:

单字段索引 (Single Field Index)

    db.person.createIndex( {age: 1} ) 

{age: 1} 代表升序索引,也可以通过{age: -1}来指定降序索引,对于单字段索引,升序/降序效果是一样的。

单索引创建唯一索引,如:

db.persons.createIndex({name:1},{unique:true})

复合索引 (Compound Index)

db.person.createIndex( {age: 1, name: 1} ) 

多key索引 (Multikey Index)   

{"name" : "jack", "age" : 19, habbit: ["football, runnning"]}

db.person.createIndex( {habbit: 1} )  // 自动创建多key索引

db.person.find( {habbit: "football"} )

感谢各位的阅读!关于“mongo如何查询慢日志以及创建索引”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: mongo如何查询慢日志以及创建索引

本文链接: https://www.lsjlt.com/news/64010.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mongo如何查询慢日志以及创建索引
    这篇文章给大家分享的是有关mongo如何查询慢日志以及创建索引的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.查看mongodb慢日志是否开起use LogDB;db.getP...
    99+
    2024-04-02
  • MySQL中如何创建索引以提高查询性能
    在MySQL中,可以使用CREATE INDEX语句来创建索引以提高查询性能。下面是一个示例: CREATE INDEX idx_l...
    99+
    2024-04-09
    MySQL
  • mysql的慢查询日志如何查看
    要查看MySQL的慢查询日志,您可以按照以下步骤操作: 登录MySQL数据库服务器,可以通过命令行或者图形化工具进行登录。 ...
    99+
    2024-05-14
    mysql
  • 如何在MySQL中慢查询日志
    如何在MySQL中慢查询日志?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是慢查询日志MySQL的慢查询日志是 MySQL提供的一种日志记录,它用来记录在 ...
    99+
    2023-06-14
  • MySQL如何开启慢查询日志
    这篇文章给大家分享的是有关MySQL如何开启慢查询日志的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysql优化方案:开启慢查询日志(查询sql执行超过一秒以上sql等等)开启慢查询日志:可以让MySQL记录下...
    99+
    2023-06-22
  • Mysql索引类型创建错误导致SQL查询缓慢
    索引类型创建错误导致SQL查询缓慢 通过pt-query-digest分析发现这条语句%95都需要15S以上 # Query 2: 0.00 QPS, 0.01x concurrency, ID 0 ...
    99+
    2024-04-02
  • 如何在MySQL中开启慢查询日志
    如何在MySQL中开启慢查询日志?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(1)配置开启Linux:在mysql配置文件 my.cnf 中...
    99+
    2024-04-02
  • mongodb中索引分类是怎样的以及如何创建索引
    mongodb中索引分类是怎样的以及如何创建索引,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。学习索引分类和创建索引:   &nbs...
    99+
    2024-04-02
  • 如何在MySQL中使用慢查询日志
    这期内容当中小编将会给大家带来有关如何在MySQL中使用慢查询日志,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。慢查询日志相关参数MySQL 慢查询的相关参数解释:slo...
    99+
    2024-04-02
  • dockermysql容器如何开启慢查询日志
    目录1、进入容器 登陆账号2、查看慢日志相关信息1、进入容器 登陆账号 docker 查看 运行的容器 docker ps 进入容器: docker exec -it dc888...
    99+
    2024-04-02
  • 如何在MySQL中创建、删除和查询索引
    如何在MySQL中创建、删除和查询索引?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。熟悉使用MySQL命令可以方便灵活地执行各种数据库操作...
    99+
    2024-04-02
  • MySQL如何开启MySQL慢查询日志及分析工具mysqldumpslow
    这篇文章给大家分享的是有关MySQL如何开启MySQL慢查询日志及分析工具mysqldumpslow的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 ...
    99+
    2024-04-02
  • 如何从MYSQL查询日志中过滤出的慢查询日志并找出TOP SQL
    如何从MYSQL查询日志中过滤出的慢查询日志并找出TOP SQL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 在 MYSQL 慢查...
    99+
    2024-04-02
  • MySQL中如何启用并分析慢查询日志
    MySQL中如何启用并分析慢查询日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysql有一...
    99+
    2024-04-02
  • 如何在线安全清空慢查询日志slowlog
    这篇文章将为大家详细讲解有关如何在线安全清空慢查询日志slowlog,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 mysql> sh...
    99+
    2024-04-02
  • mysql分析慢查询日志工具mysqlsla如何安装
    这篇文章将为大家详细讲解有关mysql分析慢查询日志工具mysqlsla如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 1 ...
    99+
    2024-04-02
  • MySQL-如何定位慢查询SQL以及优化
    如何定位慢查询SQL以及优化 慢查询日志记录慢SQLexplain查看分析SQL执行计划profile分析执行耗时Optimizer Trace分析详情确定问题采用响应措施 慢查询日志记录...
    99+
    2023-09-12
    sql 数据库 java
  • oracle如何查看索引创建时间
    要查看Oracle数据库中索引的创建时间,可以通过以下步骤进行操作:1. 首先,使用以下命令登录到Oracle数据库的SQL*Plu...
    99+
    2023-08-20
    oracle
  • Hive中如何创建和使用索引来优化查询性能
    在Hive中创建和使用索引可以帮助优化查询性能。以下是在Hive中创建和使用索引的步骤: 创建索引:在Hive中创建索引需要使用C...
    99+
    2024-03-12
    Hive
  • 如何在SQLite中创建索引以提高性能
    在SQLite中创建索引可以帮助提高查询性能。要在SQLite中创建索引,可以使用以下语法: CREATE INDEX index_...
    99+
    2024-03-14
    SQLite
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作