diff options
author | Sergei Petrunia <sergey@mariadb.com> | 2022-11-19 21:00:23 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2022-12-20 23:11:29 +0200 |
commit | c4e1aabf33e09ebf0a7e59520ab9144186539b3c (patch) | |
tree | bf631b3ef423973360c8b8cc4c93ed3642764fbe /sql/sql_explain.cc | |
parent | 048bdfe2f5f9b66264e952e33a7fe607e1156df1 (diff) | |
download | mariadb-git-c4e1aabf33e09ebf0a7e59520ab9144186539b3c.tar.gz |
MDEV-30032: EXPLAIN FORMAT=JSON output: print costs
Basic printout for join and table execution costs.
Diffstat (limited to 'sql/sql_explain.cc')
-rw-r--r-- | sql/sql_explain.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/sql_explain.cc b/sql/sql_explain.cc index b4adfe8546c..fd5f675add5 100644 --- a/sql/sql_explain.cc +++ b/sql/sql_explain.cc @@ -1033,6 +1033,9 @@ void Explain_select::print_explain_json(Explain_query *query, writer->add_member("select_id").add_ll(select_id); add_linkage(writer); + if (cost != 0.0) + writer->add_member("cost").add_double(cost); + if (is_analyze && time_tracker.get_loops()) { writer->add_member("r_loops").add_ll(time_tracker.get_loops()); @@ -1942,7 +1945,13 @@ void Explain_table_access::print_explain_json(Explain_query *query, else writer->add_null(); } + } + + if (cost != 0.0) + writer->add_member("cost").add_double(cost); + if (is_analyze) + { if (op_tracker.get_loops()) { double total_time= op_tracker.get_time_ms(); |