• 26.mget批量查询


    主要知识点

       

    一、mget批量查询的好处

       

    get查询就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的。如果使用mget进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩减100倍,这样可以更好的优化性能。

    二、mget的语法

    GET /_mget

    {

    "docs" : [{json1},{json2},……]

    }

    三、用法举例

    1、先准备两条数据

    PUT /test_index/test_type/1

    {

    "test_field1": "test field1"

    }

    PUT /test_index/test_type/2

    {

    "test_field2": "test field2"

    }

    2、用get一条一条的查询

    GET /test_index/test_type/1

    GET /test_index/test_type/2

    可以看到,要查询两条数据,必须发送两次请求。

    3mget批量查询:_index,_type,_id都不相同

    GET /_mget

    {

    "docs" : [

    {

    "_index" : "test_index",

    "_type" : "test_type",

    "_id" : 1

    },

    {

    "_index" : "test_index",

    "_type" : "test_type",

    "_id" : 2

    }

    ]

    }

    结果是

    {

    "docs": [

    {

    "_index": "test_index",

    "_type": "test_type",

    "_id": "1",

    "_version": 1,

    "found": true,

    "_source": {

    "test_field1": "test field1"

    }

    },

    {

    "_index": "test_index",

    "_type": "test_type",

    "_id": "2",

    "_version": 1,

    "found": true,

    "_source": {

    "test_field2": "test field2"

    }

    }

    ]

    }

       

    4mget批量查询:_index相同,_type,_id不相同

    GET /test_index/_mget

    {

    "docs" : [

    {

    "_type" : "test_type",

    "_id" : 1

    },

    {

    "_type" : "test_type",

    "_id" : 2

    }

    ]

    }

    查询结果同上

    5mget批量查询:_index_type相同,_id不相同

    GET /test_index/test_type/_mget

    {

    "ids": [1, 2]

    }

    查询结果同上

    四、mget的重要性

    mget是很重要的,一般来说,在进行查询的时候,如果一次性要查询多条数据的话,那么一定要用batch批量操作的api。尽可能减少网络开销次数,可能可以将性能提升数倍,甚至数十倍,对es查询的性能优化很重要。

  • 相关阅读:
    查看MySQL数据库版本
    PHP如何查找一列有序数组是否包含某值(二分查找)
    TP数据查询给sql给查询加一个虚拟字段值
    TP SQL统计查询语法
    PHP如何对一组数进行重新排列(冒泡算法)
    python入门及数字、字符串类型
    GitHub及Git及GitHub搭建个人网站
    Editplus的扩展程序的删除
    50个SQL语句(MySQL版) 问题十五
    50个SQL语句(MySQL版) 问题十四
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8463967.html
Copyright © 2020-2023  润新知