Where the open source database community meets: Use code PERCONA75 and secure your spot for Percona Live.  Register

MySQL Optimizer team comments on TPC-H Results

April 14, 2008
Author
Peter Zaitsev
Share this Post:

Yesterday I had a chance to speak to Igor – head of MySQL optimizer team and Timur – both of them expressed concern with TPC-H run results I posted and notes about little gains in MySQL 6.0.

Do not get this post wrong. I’m not saying MySQL 6.0 SubQuery optimizations are non existent or priorities were wrong, what I’m saying is just they do not seems to be apply to most of TPC-H Queries. I personally (before doing what exactly queries are part of TPC-H) was expecting to see gains in TPC-H and I think this is what other users would expect as well because this is well known set of complex queries which use SubQueries.

So what is the reason ? Why TPC-H queries are not targeted ?

The reason is MySQL Optimizer Team did not have the goal of optimizing TPC-H queries or queries from any other benchmarks, rather they look at the queries which MySQL Users have problem with and first target the most common issues. I think this is a great approach to pick what needs to be done first.

Another reason is “Derived Tables” AKA “Subselects in FROM Clause” are not optimized yet even though some optimizations may make it into final MySQL 6.0 release.

Summary: Poor MySQL 6.0 performance on TPC-H queries does NOT mean to quantify MySQL Optimizer Team work in any way:)

0 0 votes
Article Rating
Subscribe
Notify of
guest

5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Tácio Castanhede
Tácio Castanhede
18 years ago

Bom dia,

Estou tentando realizar o make do TPC-h, para gerar as bases e dá o seguinte erro:

chmod 755 update_release.sh
./update_release.sh 2 7 0
gcc -O -DDBNAME=”dss” -DICL -DMYSQL -DTPCH -c -o build.o build.c
In file included from dss.h:81,
from build.c:50:
config.h:213:2: error: #error Support for a 64-bit datatype is required in this release
In file included from build.c:50:
dss.h:178: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dss.h:189: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dss.h:221: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘set_state’
dss.h:224: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘NextRand’
dss.h:225: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘UnifInt’
dss.h:226: error: expected ‘)’ before ‘*’ token
In file included from build.c:51:
dsstypes.h:43: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:55: error: expected ‘)’ before ‘n_cust’
dsstypes.h:61: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:82: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:97: error: expected ‘)’ before ‘index’
dsstypes.h:100: error: expected ‘)’ before ‘index’
dsstypes.h:104: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:114: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:130: error: expected ‘)’ before ‘index’
dsstypes.h:136: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:147: error: expected ‘)’ before ‘index’
dsstypes.h:153: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:162: error: expected ‘)’ before ‘h’
dsstypes.h:169: error: expected specifier-qualifier-list before ‘DSS_HUGE’
dsstypes.h:177: error: expected ‘)’ before ‘i’
dsstypes.h:180: error: expected ‘)’ before ‘i’
In file included from build.c:56:
rng64.h:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘AdvanceRand64’
rng64.h:22: error: expected ‘)’ before ‘*’ token
rng64.h:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘NextRand64’
build.c:71: error: expected ‘)’ before ‘ind’
build.c:74: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rpb_routine’
build.c:86: error: expected ‘)’ before ‘ind’
build.c:108: error: expected ‘)’ before ‘n_cust’
build.c:139: error: expected ‘)’ before ‘i’
build.c:156: error: expected ‘)’ before ‘index’
build.c:279: error: expected ‘)’ before ‘index’
build.c:322: error: expected ‘)’ before ‘index’
build.c:396: error: expected ‘)’ before ‘index’
build.c:418: error: expected ‘)’ before ‘index’
build.c:429: error: expected ‘)’ before ‘index’
make: ** [build.o] Erro 1

O que pode ser?

Obrigado.

Jon
Jon
7 years ago

Its the most entertaining game that i have played and all should http://vucredits.com try this game for the enjoyment

Michael
6 years ago

Thanks for this information …….

David
6 years ago

Poor MySQL 6.0 performance on TPC-H queries does NOT mean to quantify MySQL Optimizer Team work in any way:)
thanks…….

Crist
6 years ago

How it the MySQL 7.0 performance ? Same like MySQL 6.0 or different ?

Far
Enough.

Said no pioneer ever.
MySQL, PostgreSQL, InnoDB, MariaDB, MongoDB and Kubernetes are trademarks for their respective owners.
© 2026 Percona All Rights Reserved