-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimizer effectiveness on IMDB dataset(Join-Order-Benchmark) Test Report #18644
Comments
Index SelectionReproduction step
|
Thanks~ I will analyze these slow SQLs soon. |
Here is the Chinese analysis document about index selection tests. |
I generate 50 SQLs on only one table each, to get rid of the interference of table join, this is the report, you need to apply the same add-indexes.sql on above.
|
I design two control groups. The first group turns off auto analyze and feedback. The second group turns off auto analyze but turns on feedback. Experiment steps:
Seems there existed the effectiveness regression on some SQLs. SELECT * FROM title WHERE (title.id IS NOT NULL AND title.title!="(#1.69)" AND title.imdb_index IS NULL AND title.kind_id<8 AND title.production_year!=1974 AND title.imdb_id IS NULL AND title.phonetic_code IS NULL AND title.episode_of_id>184590 AND title.season_nr IS NULL AND title.episode_nr IS NULL AND title.series_years IS NULL AND title.md5sum<="7cf95ddbd379fdb3e530e0721ff61494") LIMIT 100 |
Reproduce Steps
TiDB Server Configuration
Prepare IMDB:
Refer to https://github.com/gregrahn/join-order-benchmark#step-by-step-instructions
Run Horo:
Test Report
How to read the report:
ID
: query id#PLAN SPACE
: the plan space size of a queryDEFAULT EXECUTION TIME
: the execution time of default plan, giving in the format of "Mean ±Diff", "Mean" is the mean value ofround
rounds, and "Diff" is the lower/upper bound of the mean valueBEST PLAN EXECUTION TIME
: the execution time of the best planEFFECTIVENESS
: the percent of the execution time of the default plan better than others on plan spaceBETTER OPTIMAL PLANS
: gives the better plan, each item is giving in the format of "nth_plan id(<execution time> / <default execution time>)"QUERY
: the queryThe text was updated successfully, but these errors were encountered: