• pymongodb-explain


        '''nReturned和totalDocsExamined最好接近,查询效率更优'''
        qp = {'executionStats': {'allPlansExecution': [],
                                 'executionStages': {'advanced': 16591,
                                                     'executionTimeMillisEstimate': 4,
                                                     'inputStage': {'advanced': 16591,
                                                                    'alreadyHasObj': 0,
                                                                    'docsExamined': 24886,  # 指定在查询执行阶段扫描的文档数。
                                                                    'executionTimeMillisEstimate': 3,
                                                                    'filter': {'$or': [{'room_num': {'$eq': 2}},
                                                                                       {'room_num': {'$eq': 1}}]},
                                                                    'inputStage': {'advanced': 24886,
                                                                                   'direction': 'forward',
                                                                                   'dupsDropped': 0,
                                                                                   'dupsTested': 0,
                                                                                   'executionTimeMillisEstimate': 0,
                                                                                   'indexBounds': {'created': ['[new '
                                                                                                               'Date(1603065600000), '
                                                                                                               'new '
                                                                                                               'Date(1603149780000)]']},
                                                                                   'indexName': 'created_1',
                                                                                   'indexVersion': 2,
                                                                                   'invalidates': 0,
                                                                                   'isEOF': 1,
                                                                                   'isMultiKey': False,
                                                                                   'isPartial': False,
                                                                                   'isSparse': False,
                                                                                   'isUnique': False,
                                                                                   'keyPattern': {'created': 1},
                                                                                   'keysExamined': 24886,
                                                                                   'multiKeyPaths': {'created': []},
                                                                                   'nReturned': 24886,
                                                                                   'needTime': 0,
                                                                                   'needYield': 0,
                                                                                   'restoreState': 194,
                                                                                   'saveState': 194,
                                                                                   'seeks': 1,
                                                                                   'seenInvalidated': 0,
                                                                                   'stage': 'IXSCAN',
                                                                                   'works': 24887},
                                                                    'invalidates': 0,
                                                                    'isEOF': 1,
                                                                    'nReturned': 16591,
                                                                    'needTime': 8295,
                                                                    'needYield': 0,
                                                                    'restoreState': 194,
                                                                    'saveState': 194,
                                                                    'stage': 'FETCH',
                                                                    'works': 24887},
                                                     'invalidates': 0,
                                                     'isEOF': 1,
                                                     'nReturned': 16591,
                                                     'needTime': 8295,
                                                     'needYield': 0,
                                                     'restoreState': 194,
                                                     'saveState': 194,
                                                     'stage': 'SUBPLAN',
                                                     'works': 24887},
                                 'executionSuccess': True,
                                 'executionTimeMillis': 79,  # 选择查询计划和执行查询所需的总时间(以毫秒为单位)
                                 'nReturned': 16591,  # 符合查询条件的文档数。
                                 'totalDocsExamined': 24886,  # 查询执行期间检查的文档数。
                                 'totalKeysExamined': 24886},  # 扫描的索引条目数。
              'ok': 1.0,
              'queryPlanner': {'indexFilterSet': False,  # 一个布尔值,指定MongoDB是否对查询应用了索引过滤器。
                               'namespace': 'yq_info.monitor',  # 一个字符串,它指定<database>.<collection>要对其运行查询的集合名称
                               'parsedQuery': {'$or': [{'$and': [{'room_num': {'$eq': 1}},
                                                                 {'created': {
                                                                     '$lte': datetime.datetime(2020, 10, 19, 23, 23)}},
                                                                 {'created': {
                                                                     '$gte': datetime.datetime(2020, 10, 19, 0, 0)}}]},
                                                       {'$and': [{'room_num': {'$eq': 2}},
                                                                 {'created': {
                                                                     '$lte': datetime.datetime(2020, 10, 19, 23, 23)}},
                                                                 {'created': {
                                                                     '$gte': datetime.datetime(2020, 10, 19, 0, 0)}}]}]},
                               'plannerVersion': 1,
                               'rejectedPlans': [],
                               'winningPlan': {'inputStage': {'filter': {'$or': [{'room_num': {'$eq': 2}},
                                                                                 {'room_num': {'$eq': 1}}]},
                                                              'inputStage': {'direction': 'forward',
                                                                             'indexBounds': {'created': ['[new '
                                                                                                         'Date(1603065600000), '
                                                                                                         'new '
                                                                                                         'Date(1603149780000)]']},
                                                                             'indexName': 'created_1',
                                                                             'indexVersion': 2,
                                                                             'isMultiKey': False,
                                                                             'isPartial': False,
                                                                             'isSparse': False,
                                                                             'isUnique': False,
                                                                             'keyPattern': {'created': 1},
                                                                             'multiKeyPaths': {'created': []},
                                                                             'stage': 'IXSCAN'},
                                                              'stage': 'FETCH'},
                                               'stage': 'SUBPLAN'}},
              'serverInfo': {'gitVersion': '7e28f4296a04d858a2e3dd84a1e79c9ba59a9568',
                             'host': '0.0.0.0',
                             'port': 27017,
                             'version': '4.0.19'}}
  • 相关阅读:
    c 的内存分配与释放原则: 通常应遵循“谁malloc,谁free”的原则。
    总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob & LookupIconIdFromDirectoryEx
    收藏:Non-direct与direct ByteBuffer区别
    java NIO 直接与非直接缓冲区
    [收藏]:[算法]LRU和LFU的区别
    异步IO的并发能力:backlog的配置很重要
    ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);
    ByteBuffer的allocate与allocateDirect2013-01-11
    Windows完成端口与Linux epoll技术简介
    Java并发——Fork/Join框架与ForkJoinPool
  • 原文地址:https://www.cnblogs.com/liuer-mihou/p/13857226.html
Copyright © 2020-2023  润新知