Bug #99107 | Insufficient information in explain | ||
---|---|---|---|
Submitted: | 30 Mar 2020 12:35 | Modified: | 31 Mar 2020 20:29 |
Reporter: | Michael Bialik | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S4 (Feature request) |
Version: | 8 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[30 Mar 2020 12:35]
Michael Bialik
[30 Mar 2020 13:28]
MySQL Verification Team
Hello Bialik, Thank you for your bug report. Before proceeding any further, can you please provide us feedback on the options that are available within MySQL 8.0. First of all, have you tried all EXPLAIN options. Have you tried EXPLAIN EXTENDED, then other output formats, like TREE or TRADITIONAL ??? Next, have you tried EXPLAIN ANALYZE, available in 8.0.19 ???? You can also look at the optimizer trace table within the information schema. You can try all these options and you will find much more info. However, one thing is for sure. You should be able to get info on the table and its partition used, but schema is not available in all variants of the EXPLAIN. Let us know if you have found a variant that suits your needs.
[31 Mar 2020 13:59]
Norvald Ryeng
Hi Michael, Thank you for the feature request! We're trying not to expand the size of the EXPLAIN output too much. There's an almost infinite amount of information that we _could_ print. But if we print everything, it will be very hard to read the plan, so we have to make a careful selection. The purpose of EXPLAIN is to show the query plan, so we focus on doing that very well. The fully qualified table name is an important piece of information, and we have considered adding it, but we rejected the idea because the information is already present in the query, so we would be expanding the output without adding extra information. We have noted your request, though, so if you have any good examples where this would make a huge difference, please add them to this feature request. Sinisa: This is the same in all EXPLAIN formats. Best regards, Norvald
[31 Mar 2020 14:17]
MySQL Verification Team
Thank you, Norvald.
[31 Mar 2020 20:29]
Michael Bialik
Hello, Norvald Thank you for your explanation. However allow me to disagree with you. During my work I encountered a number of following cases when fully qualified table name [schema name + full table name] may help: 1. When you have a number of schemes in the same instance and you may have identical table names in a number of schemes 2. Another case is when you are using predefined view and you may have an aliases inside the view that are identical to aliases you defined outside of the view Eventually, it's possible to backtrack the definitions and to find the original tables, but it may take quite a long time. Michael
[2 Apr 2020 12:18]
MySQL Verification Team
Hi Mr. Bialik, We agree with you, which is why this is a verified feature request. This is not a verified bug, since the current functionality of EXPLAIN is exactly as it is designed.