Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-54044

[BP to 7.2.0 MB-53588] - Optimizer hints are not displayed in explain for subqueries

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Morpheus, Elixir, 7.1.2
    • 7.2.0
    • query
    • Untriaged
    • 1
    • No

    Description

      In explain, if a subquery has optimizer hints, currently these hints are not displayed. Only optimizer hints from the top query is displayed.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            Build couchbase-server-7.2.0-5027 contains query commit fdc689a with commit message:
            MB-54044 Display optimizer hints from subquries in explain

            build-team Couchbase Build Team added a comment - Build couchbase-server-7.2.0-5027 contains query commit fdc689a with commit message: MB-54044 Display optimizer hints from subquries in explain
            bingjie.miao Bingjie Miao added a comment -

            Use a subquery with optimizer hints, the explain plan should show (in the subquery section) the optimizer hints for the subquery.

            bingjie.miao Bingjie Miao added a comment - Use a subquery with optimizer hints, the explain plan should show (in the subquery section) the optimizer hints for the subquery.

            Verified on 7.2.0-5067

            cbq> EXPLAIN SELECT (SELECT /*+ INDEX(default default_city) */ city, faa FROM default WHERE city = "San Francisco") as airports;
            {
                "requestID": "574c0576-d4a5-4d6d-a568-e9568e19d6a1",
                "signature": "json",
                "results": [
                {
                    "cardinality": 1,
                    "cost": 0.001,
                    "plan": {
                        "#operator": "Sequence",
                        "~children": [
                            {
                                "#operator": "DummyScan",
                                "optimizer_estimates": {
                                    "cardinality": 1,
                                    "cost": 0.00000000000000000010842021724855044,
                                    "fr_cost": 0.00000000000000000010842021724855044,
                                    "size": 1
                                }
                            },
                            {
                                "#operator": "Parallel",
                                "maxParallelism": 1,
                                "~child": {
                                    "#operator": "Sequence",
                                    "~children": [
                                        {
                                            "#operator": "InitialProject",
                                            "discard_original": true,
                                            "optimizer_estimates": {
                                                "cardinality": 1,
                                                "cost": 0.001,
                                                "fr_cost": 0.001,
                                                "size": 1
                                            },
                                            "result_terms": [
                                                {
                                                    "as": "airports",
                                                    "expr": "(select (`default`.`city`), (`default`.`faa`) from `default`:`default` where ((`default`.`city`) = \"San Francisco\"))"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        ]
                    },
                    "text": "SELECT (SELECT /*+ INDEX(default default_city) */ city, faa FROM default WHERE city = \"San Francisco\") as airports;",
                    "~subqueries": [
                        {
                            "optimizer_hints": {
                                "hints_followed": [
                                    "INDEX(default default_city)"
                                ]
                            },
                            "plan": {
                                "#operator": "Sequence",
                                "~children": [
                                    {
                                        "#operator": "IndexScan3",
                                        "index": "default_city",
                                        "index_id": "48d7672b8f0f5776",
                                        "index_projection": {
                                            "primary_key": true
                                        },
                                        "keyspace": "default",
                                        "namespace": "default",
                                        "spans": [
                                            {
                                                "exact": true,
                                                "range": [
                                                    {
                                                        "high": "\"San Francisco\"",
                                                        "inclusion": 3,
                                                        "index_key": "`city`",
                                                        "low": "\"San Francisco\""
                                                    }
                                                ]
                                            }
                                        ],
                                        "using": "gsi"
                                    },
                                    {
                                        "#operator": "Fetch",
                                        "keyspace": "default",
                                        "namespace": "default"
                                    },
                                    {
                                        "#operator": "Parallel",
                                        "~child": {
                                            "#operator": "Sequence",
                                            "~children": [
                                                {
                                                    "#operator": "Filter",
                                                    "condition": "((`default`.`city`) = \"San Francisco\")"
                                                },
                                                {
                                                    "#operator": "InitialProject",
                                                    "discard_original": true,
                                                    "result_terms": [
                                                        {
                                                            "expr": "(`default`.`city`)"
                                                        },
                                                        {
                                                            "expr": "(`default`.`faa`)"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    }
                                ]
                            },
                            "subquery": "select (`default`.`city`), (`default`.`faa`) from `default`:`default` where ((`default`.`city`) = \"San Francisco\")"
                        }
                    ]
                }
                ],
                "status": "success",
                "metrics": {
                    "elapsedTime": "3.461745ms",
                    "executionTime": "3.316605ms",
                    "resultCount": 1,
                    "resultSize": 4889,
                    "serviceLoad": 6
                }
            }
             

            pierre.regazzoni Pierre Regazzoni added a comment - Verified on 7.2.0-5067 cbq> EXPLAIN SELECT (SELECT /*+ INDEX(default default_city) */ city, faa FROM default WHERE city = "San Francisco" ) as airports; {     "requestID" : "574c0576-d4a5-4d6d-a568-e9568e19d6a1" ,     "signature" : "json" ,     "results" : [     {         "cardinality" : 1 ,         "cost" : 0.001 ,         "plan" : {             "#operator" : "Sequence" ,             "~children" : [                 {                     "#operator" : "DummyScan" ,                     "optimizer_estimates" : {                         "cardinality" : 1 ,                         "cost" : 0.00000000000000000010842021724855044 ,                         "fr_cost" : 0.00000000000000000010842021724855044 ,                         "size" : 1                     }                 },                 {                     "#operator" : "Parallel" ,                     "maxParallelism" : 1 ,                     "~child" : {                         "#operator" : "Sequence" ,                         "~children" : [                             {                                 "#operator" : "InitialProject" ,                                 "discard_original" : true ,                                 "optimizer_estimates" : {                                     "cardinality" : 1 ,                                     "cost" : 0.001 ,                                     "fr_cost" : 0.001 ,                                     "size" : 1                                 },                                 "result_terms" : [                                     {                                         "as" : "airports" ,                                         "expr" : "(select (`default`.`city`), (`default`.`faa`) from `default`:`default` where ((`default`.`city`) = \"San Francisco\"))"                                     }                                 ]                             }                         ]                     }                 }             ]         },         "text" : "SELECT (SELECT /*+ INDEX(default default_city) */ city, faa FROM default WHERE city = \"San Francisco\") as airports;" ,         "~subqueries" : [             {                 "optimizer_hints" : {                     "hints_followed" : [                         "INDEX(default default_city)"                     ]                 },                 "plan" : {                     "#operator" : "Sequence" ,                     "~children" : [                         {                             "#operator" : "IndexScan3" ,                             "index" : "default_city" ,                             "index_id" : "48d7672b8f0f5776" ,                             "index_projection" : {                                 "primary_key" : true                             },                             "keyspace" : "default" ,                             "namespace" : "default" ,                             "spans" : [                                 {                                     "exact" : true ,                                     "range" : [                                         {                                             "high" : "\"San Francisco\"" ,                                             "inclusion" : 3 ,                                             "index_key" : "`city`" ,                                             "low" : "\"San Francisco\""                                         }                                     ]                                 }                             ],                             "using" : "gsi"                         },                         {                             "#operator" : "Fetch" ,                             "keyspace" : "default" ,                             "namespace" : "default"                         },                         {                             "#operator" : "Parallel" ,                             "~child" : {                                 "#operator" : "Sequence" ,                                 "~children" : [                                     {                                         "#operator" : "Filter" ,                                         "condition" : "((`default`.`city`) = \"San Francisco\")"                                     },                                     {                                         "#operator" : "InitialProject" ,                                         "discard_original" : true ,                                         "result_terms" : [                                             {                                                 "expr" : "(`default`.`city`)"                                             },                                             {                                                 "expr" : "(`default`.`faa`)"                                             }                                         ]                                     }                                 ]                             }                         }                     ]                 },                 "subquery" : "select (`default`.`city`), (`default`.`faa`) from `default`:`default` where ((`default`.`city`) = \"San Francisco\")"             }         ]     }     ],     "status" : "success" ,     "metrics" : {         "elapsedTime" : "3.461745ms" ,         "executionTime" : "3.316605ms" ,         "resultCount" : 1 ,         "resultSize" : 4889 ,         "serviceLoad" : 6     } }

            People

              pierre.regazzoni Pierre Regazzoni
              bingjie.miao Bingjie Miao
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty