April 14, 2008

MySQL Optimizer team comments on TPC-H Results

Posted by peter

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:)

Related posts: :MySQL 6.0 Subquery optimizations are published.::MySQL Query Cache WhiteSpace and comments::Bug fix of InnoDB scalability problem:
 

1 Comment »

  1. 1. Tácio Castanhede

    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.

    Comment :: April 28, 2008 @ 7:24 am

 

Subscribe without commenting


This page was found by: team comments mysql tpc results error: expected spec... 139 error mysql expected specifier q...