Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/main/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 9 kB image not shown  

Quelle  opt_trace_index_merge_innodb.result   Sprache: Lisp

 

set @innodb_stats_persistent_save= @@innodb_stats_persistent;
set @innodb_stats_persistent_sample_pages_save=
@@innodb_stats_persistent_sample_pages;
set global innodb_stats_persistent= 1;
set global innodb_stats_persistent_sample_pages=100;
create table t1
( 
pk1 int not null,
pk2 int not null,
key1 int not null,
key2 int not null,
key (key1),
key (key2),
primary key (pk1, pk2)
)engine=Innodb;
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
set optimizer_trace="enabled=on";
set @tmp_index_merge_ror_cpk=@@optimizer_switch;
set optimizer_switch='extended_keys=off';
explain select * from t1 where pk1 != 0  and key1 = 1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ref PRIMARY,key1 key1 4 const 1 Using index condition
select * from information_schema.OPTIMIZER_TRACE;
QUERY TRACE MISSING_BYTES_BEYOND_MAX_MEM_SIZE INSUFFICIENT_PRIVILEGES
explain select * from t1 where pk1 != 0  and key1 = 1 {
  "steps": [
    {
      "join_preparation": {
        "select_id": 1,
        "steps": [
          {
            "expanded_query": "select t1.pk1 AS pk1,t1.pk2 AS pk2,t1.key1 AS key1,t1.key2 AS key2 from t1 where t1.pk1 <> 0 and t1.key1 = 1"
          }
        ]
      }
    },
    {
      "join_optimization": {
        "select_id": 1,
        "steps": [
          {
            "condition_processing": {
              "condition": "WHERE",
              "original_condition": "t1.pk1 <> 0 and t1.key1 = 1",
              "steps": [
                {
                  "transformation": "equality_propagation",
                  "resulting_condition": "t1.pk1 <> 0 and multiple equal(1, t1.key1)"
                },
                {
                  "transformation": "constant_propagation",
                  "resulting_condition": "t1.pk1 <> 0 and multiple equal(1, t1.key1)"
                },
                {
                  "transformation": "trivial_condition_removal",
                  "resulting_condition": "t1.pk1 <> 0 and multiple equal(1, t1.key1)"
                }
              ]
            }
          },
          {
            "ref_optimizer_key_uses": [
              {
                "table": "t1",
                "index": "key1",
                "field": "key1",
                "equals": "1",
                "null_rejecting": false
              }
            ]
          },
          {
            "rows_estimation": [
              {
                "table": "t1",
                "range_analysis": {
                  "table_scan": {
                    "rows": 1000,
                    "cost": 0.1764192
                  },
                  "potential_range_indexes": [
                    {
                      "index": "PRIMARY",
                      "usable": true,
                      "key_parts": ["pk1", "pk2"]
                    },
                    {
                      "index": "key1",
                      "usable": true,
                      "key_parts": ["key1"]
                    },
                    {
                      "index": "key2",
                      "usable": false,
                      "cause": "not applicable"
                    }
                  ],
                  "setup_range_conditions": [],
                  "analyzing_range_alternatives": {
                    "range_scan_alternatives": [
                      {
                        "index": "PRIMARY",
                        "ranges": ["(pk1) < (0)", "(0) < (pk1)"],
                        "rowid_ordered": true,
                        "using_mrr": false,
                        "index_only": false,
                        "rows": 1000,
                        "cost": 0.16706826,
                        "chosen": true
                      },
                      {
                        "index": "key1",
                        "ranges": ["(1) <= (key1) <= (1)"],
                        "rowid_ordered": true,
                        "using_mrr": false,
                        "index_only": false,
                        "rows": 1,
                        "cost": 0.00424968,
                        "chosen": true
                      }
                    ],
                    "analyzing_roworder_intersect": {
                      "intersecting_indexes": [
                        {
                          "index": "key1",
                          "index_scan_cost": 0.001661605,
                          "cumulated_index_scan_cost": 0.001661605,
                          "disk_sweep_cost": 0.00171364,
                          "cumulative_total_cost": 0.003375245,
                          "usable": true,
                          "matching_rows_now": 1,
                          "intersect_covering_with_this_index": false,
                          "chosen": true
                        }
                      ],
                      "clustered_pk": {
                        "index_scan_cost": 0.000002653,
                        "cumulated_index_scan_cost": 0.001664258,
                        "disk_sweep_cost": 0.00171364,
                        "clustered_pk_added_to_intersect": false,
                        "cause": "cost"
                      },
                      "chosen": false,
                      "cause": "too few indexes to merge"
                    }
                  },
                  "group_index_range": {
                    "chosen": false,
                    "cause": "no group by or distinct"
                  },
                  "chosen_range_access_summary": {
                    "range_access_plan": {
                      "type": "range_scan",
                      "index": "key1",
                      "rows": 1,
                      "ranges": ["(1) <= (key1) <= (1)"]
                    },
                    "rows_for_plan": 1,
                    "cost_for_plan": 0.00424968,
                    "chosen": true
                  }
                }
              },
              {
                "table": "t1",
                "rowid_filters": [
                  {
                    "key": "key1",
                    "build_cost": 0.001763258,
                    "rows": 1
                  }
                ]
              },
              {
                "selectivity_for_indexes": [
                  {
                    "index_name": "key1",
                    "selectivity_from_index": 0.001
                  },
                  {
                    "index_name": "PRIMARY",
                    "selectivity_from_index": 1
                  }
                ],
                "selectivity_for_columns": [],
                "cond_selectivity": 0.001
              }
            ]
          },
          {
            "table_dependencies": [
              {
                "table": "t1",
                "row_may_be_null": false,
                "map_bit": 0,
                "depends_on_map_bits": []
              }
            ]
          },
          {
            "considered_execution_plans": [
              {
                "plan_prefix": "",
                "get_costs_for_tables": [
                  {
                    "best_access_path": {
                      "table": "t1",
                      "plan_details": {
                        "record_count": 1
                      },
                      "considered_access_paths": [
                        {
                          "access_type": "ref",
                          "index": "key1",
                          "used_range_estimates": true,
                          "rows": 1,
                          "cost": 0.00345856,
                          "chosen": true
                        },
                        {
                          "type": "scan",
                          "chosen": false,
                          "cause": "cost"
                        }
                      ],
                      "chosen_access_method": {
                        "type": "ref",
                        "index": "key1",
                        "rows_read": 1,
                        "rows_out": 1,
                        "cost": 0.00345856,
                        "uses_join_buffering": false
                      }
                    }
                  }
                ]
              },
              {
                "plan_prefix": "",
                "table": "t1",
                "rows_for_plan": 1,
                "cost_for_plan": 0.00345856
              }
            ]
          },
          {
            "best_join_order": ["t1"],
            "rows": 1,
            "cost": 0.00345856
          },
          {
            "substitute_best_equal": {
              "condition": "WHERE",
              "resulting_condition": "t1.key1 = 1 and t1.pk1 <> 0"
            }
          },
          {
            "attaching_conditions_to_tables": {
              "attached_conditions_computation": [],
              "attached_conditions_summary": [
                {
                  "table": "t1",
                  "attached_condition": "t1.pk1 <> 0"
                }
              ]
            }
          },
          {
            "make_join_readinfo": [
              {
                "table": "t1",
                "index_condition": "t1.pk1 <> 0"
              }
            ]
          }
        ]
      }
    }
  ]
} 0 0
drop table t1;
set @@optimizer_switch= @tmp_index_merge_ror_cpk;
set global innodb_stats_persistent= @innodb_stats_persistent_save;
set global innodb_stats_persistent_sample_pages=
@innodb_stats_persistent_sample_pages_save;
#
# MDEV-18962: ASAN heap-buffer-overflow in Single_line_formatting_helper::on_add_str with optimizer trace
#
CREATE TABLE t1 (a date not null, b time, key(a), key(b)) ENGINE=InnoDB;
INSERT INTO t1 VALUES ('1991-09-09','00:00:00'),('2032-08-24','02:22:24');
SET SESSION optimizer_trace = 'enabled=on';
SELECT * FROM t1 WHERE b IS NULL AND a = '2000-01-01';
a b
DROP TABLE t1;
set optimizer_trace="enabled=off";

Messung V0.5 in Prozent
C=93 H=100 G=96

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.