Sergei Petrunia
26eb666463
Make Explain_node::children protected
2021-10-08 19:17:06 +03:00
Sergei Petrunia
5d06edfb26
MDEV-19714: JOIN::pseudo_bits_cond is not visible in EXPLAIN FORMAT=JSON
...
Make it visible
2019-06-08 02:28:29 +03:00
Marko Mäkelä
26a14ee130
Merge 10.1 into 10.2
2019-05-13 17:54:04 +03:00
Vicențiu Ciorbaru
cb248f8806
Merge branch '5.5' into 10.1
2019-05-11 22:19:05 +03:00
Sergei Golubchik
4771ae4b22
Merge branch 'github/10.1' into 10.2
2018-02-06 14:50:50 +01:00
Oleksandr Byelkin
80d3eee072
MDEV-14857: problem with 10.2.11 server crashing when executing stored procedure
...
Counter for select numbering made stored with the statement (before was global)
So now it does have always accurate value which does not depend on
interruption of statement prepare by errors like lack of table in
a view definition.
2018-02-01 09:51:47 +01:00
Varun Gupta
a118c20c81
MDEV-10844: EXPLAIN FORMAT=JSON doesn't show order direction for filesort
...
Currently explain format=json does not show the order direction of fields used during filesort.
This patch would remove this limitation
2017-12-30 10:18:22 +05:30
Sergei Golubchik
da4d71d10d
Merge branch '10.1' into 10.2
2017-03-30 12:48:42 +02:00
iangilfillan
f0ec34002a
Correct FSF address
2017-03-10 18:21:29 +01:00
Sergei Petrunia
a2f245e49f
MDEV-10372: EXPLAIN fixes for recursive CTEs, including FORMAT=JSON
...
- Tabular EXPLAIN now prints "RECURSIVE UNION".
- There is a basic implementation of EXPLAIN FORMAT=JSON.
- it produces "recursive_union" JSON struct
- No other details or ANALYZE support, yet.
2016-08-08 23:02:52 +03:00
Galina Shalygina
be1d06c8a5
Merge branch '10.2' into 10.2-mdev9864
2016-05-08 23:04:41 +03:00
Sergei Petrunia
ab44e892d8
MDEV-9652: EXPLAIN FORMAT=JSON should show outer_ref_cond
...
Show outer_ref_condition in EXPLAIN FORMAT=JSON output.
2016-02-28 18:18:29 +03:00
Sergei Petrunia
7016621596
MDEV-8829: Assertion `0' failed in Explain_table_access::tag_to_json
...
- Add EXPLAIN/ANALYZE FORMAT=JSON handling for a few special cases.
2015-09-24 15:45:54 +03:00
Oleksandr Byelkin
da3ec3d421
MDEV-7970: EXPLAIN FORMAT=JSON does not print HAVING
...
Printing non-trivial HAVING added.
2015-09-18 16:08:13 +02:00
Sergei Petrunia
3025c42605
Make ANALYZE FORMAT=JSON show execution time for filesort element.
2015-08-07 17:41:35 +03:00
Sergei Petrunia
9d2aa2b309
MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cache
...
Fixes over the original patch:
- Fix variable/class/other names
- Fix the JSON output to be in line with the output of other JSON
constructs we produce
2015-07-01 20:03:29 +03:00
Oleksandr Byelkin
c6aee27b73
MDEV-7811: EXPLAIN/ANALYZE FORMAT=JSON should show subquery cache
2015-06-30 23:07:14 +03:00
Sergei Petrunia
93fc04ff1d
MDEV-6995: EXPLAIN JSON and ORDER BY, GROUP BY, etc
...
- Make ANALYZE correctly remember and report filesort() calls
- Temp.table use is collected but only basic info is reported.
2015-06-06 00:32:27 +03:00
Sergei Petrunia
0719df781e
Merge
2015-04-12 04:59:34 +03:00
Sergei Petrunia
4938b82263
MDEV-7836: ANALYZE FORMAT=JSON should provide info about GROUP/ORDER BY
...
Provide basic info about sorting/grouping done by the queries.
2015-04-12 04:48:42 +03:00
Oleksandr Byelkin
b05383cb14
MDEV-7835: ANALYZE FORMAT=JSON should show buffer sizes
2015-04-09 14:51:23 +02:00
Oleksandr Byelkin
697194461a
MDEV-7856: EXPLAIN FORMAT=JSON should show partitions
2015-04-09 14:21:02 +02:00
Sergei Petrunia
2af935c8ec
MDEV-7899: 10.1 is 3% slower than 10.0 in OLTP RO
...
- Remove ANALYZE's timing code off the the execution path of regular
SELECTs.
- Improve the tracker that tracks counts/execution times of SELECTs or
DML statements:
= regular execution just increments counters
= ANALYZE will also collect timings.
2015-04-07 01:29:17 +03:00
Sergei Petrunia
2936fb127d
MDEV-7919: main.explain_json* fail in buildbot with valgrind
...
Correctly initialize Explain_node::connection_type, remove unused
Explain_node constructor.
2015-04-06 18:54:08 +03:00
Oleksandr Byelkin
a220905083
MDEV-7833:ANALYZE FORMAT=JSON and Range checked for each record
2015-04-03 15:37:27 +02:00
Oleksandr Byelkin
b2a1187307
MDEV-7812: ANALYZE FORMAT=JSON UPDATE/DELETE doesnt print the r_total_time_ms
...
Tracking total time added in UPDATE/DELETE
Fixed selectivity calculation in UPDATE/DELETE
Macro definitions of time tracting fixed.
2015-03-29 15:33:15 +02:00
Sergei Petrunia
664ce4c507
Fix linking: move the inline functions
2015-03-24 17:35:29 +03:00
Sergei Petrunia
77e16ce7d6
MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmt
...
Switch from relying on PERFORMANCE_SCHEMA to using our
own hooks for counting the time spent reading rows from
tables.
2015-03-24 16:17:41 +03:00
Sergei Petrunia
b273e4a5c0
Better comments
2015-03-24 13:22:03 +03:00
Sergei Petrunia
1626e0d3d4
MDEV-7648: Extra data in ANALYZE FORMAT=JSON $stmt
...
Show total execution time (r_total_time_ms) for various parts of the
query:
1. time spent in SELECTs
2. time spent reading rows from storage engines
#2 currently gets the data from P_S.
2015-03-07 22:47:28 +03:00
Sergei Petrunia
66ad265f3b
MDEV-7674: ANALYZE shows r_rows=0
...
Change r_rows to be double
2015-03-07 19:30:19 +03:00
Sergei Petrunia
dc259324d7
EXPLAIN JSON: Print out the "expensive constant condition" attached to joins.
2014-12-06 19:27:42 +03:00
Sergei Petrunia
5ee1c25fa8
EXPLAIN FORMAT=JSON: Full scan on NULL key (join case)
2014-12-06 03:11:03 +03:00
Sergei Petrunia
a80a797686
EXPLAIN FORMAT=JSON: Support "range checked for each record"
2014-12-06 02:23:37 +03:00
Sergei Petrunia
9cac7649ea
EXPLAIN FORMAT=JSON: Support range+MRR plans (when MRR is used but BKA is not)
2014-12-06 01:11:22 +03:00
Monty
78564373fe
my_alloc.c
...
- Changed 0x%lx -> %p
array.c:
- Static (preallocated) buffer can now be anywhere
my_sys.h
- Define MY_INIT_BUFFER_USED
sql_delete.cc & sql_lex.cc
- Use memroot when allocating classes (avoids call to current_thd)
sql_explain.h:
- Use preallocated buffers
sql_explain.cc:
- Use preallocated buffers and memroot
sql_select.cc:
- Use multi_alloc_root() instead of many alloc_root()
- Update calls to Explain
2014-12-05 11:01:51 +04:00
Sergei Petrunia
0000695025
EXPLAIN FORMAT=JSON
...
Add support for semi-join strategies: FirstMatch, DuplicateWeedout,
LooseScan.
2014-12-02 01:40:10 +03:00
Sergei Petrunia
753718c201
EXPLAIN FORMAT=JSON: support SJ-Materialization
...
- Switch Explain data structure from "flat" representation of
SJ-Materialization into nested one.
- Update functions that print tabular output to operate on the
nested structure.
- Add function to generate JSON output.
2014-12-01 21:35:31 +03:00
Sergei Petrunia
c46eadb2b3
EXPLAIN FORMAT=JSON: support EXPLAIN FORMAT=JSON INSERT ...
2014-11-29 03:28:46 +03:00
Sergei Petrunia
e235bb864d
ANALYZE FORMAT=JSON: better output and tests
...
- Print r_loops
- Always print r_* members. Print NULL values if no scans took place
- Added testcases.
2014-11-29 03:07:24 +03:00
Sergei Petrunia
0b5d989c89
EXPLAIN FORMAT=JSON: Add support for non-merged semi-joins
2014-11-29 01:08:18 +03:00
Sergei Petrunia
2ac3b39e68
EXPLAIN FORMAT=JSON: support derived tables
2014-11-28 22:23:29 +03:00
Sergei Petrunia
d5fbfb9a93
EXPLAIN FORMAT=JSON: Add support for single-table UPDATE/DELETE.
2014-11-28 02:36:31 +03:00
Sergei Petrunia
461dbd80d2
EXPLAIN FORMAT=JSON: support join buffering
...
- Basic support for JOIN buffering
- The output is not polished but catches the main point:
tab->select_cond and tab->cache_select->cond are printed separately.
- Hash join support is poor still.
- Also fixed identation in JOIN_TAB::save_explain_data
2014-11-27 23:10:44 +03:00
Sergei Petrunia
37c444e1a0
EXPLAIN FORMAT=JSON: further development
...
Writing JSON:
- Fix a bug in Single_line_formatting_helper
- Add Json_writer_nesting_guard - safety class
EXPLAIN JSON support
- Add basic subquery support
- Add tests for UNION/UNION ALL.
2014-11-27 19:32:48 +03:00
Sergei Petrunia
3d5f97fd70
Merge ../10.1-explain-json-r4 into 10.1
2014-11-27 00:51:54 +03:00
Igor Babaev
3c4bb0e872
MDEV-334: Backport of UNION ALL optimization from mysql-5.7.
...
Although the original code of mysql-5.7 was adjusted
to the current MariaDB code the main ideas of the optimization
were preserved.
2014-10-14 09:36:50 -07:00
Sergei Petrunia
041e03e251
EXPLAIN FORMAT=JSON: produce used_key_parts, JSON-ish output for index_merge.
2014-08-14 01:12:05 +04:00
Sergei Petrunia
a9d43d70f5
EXPLAIN FORMAT=JSON: produce the 'ref' column.
2014-08-12 18:14:56 +04:00
Sergei Petrunia
83f0ddc629
Merge 10.1 (with ANALYZE) and 10.1-explain-json
2014-08-09 01:52:54 +04:00