List:Internals« Previous MessageNext Message »
From:Rick James Date:June 16 2011 6:49pm
Subject:Re: Regression test returning different result each time it's run
View as plain text  
InnoDB's estimates of Rows varies by up to about a factor of 2, based on 
the phase of the moon.

On 6/16/11 7:32 AM, Øystein Grøvlen wrote:
> On 16/06/2011 16:10, Hiromichi Watari wrote:
>> Hi Øystein,
>> Thank you for your reply.
>>
>> I am using the same storage engine (Innob I believe) and repeating the test
> results in different output each time.
> Hi,
>
> By default, InnoDB statistics will vary slightly each time you start the
> server.  Hence, you will get different output. (See my blog
> http://oysteing.blogspot.com/2011/04/more-stable-query-execution-time-by.html
> for a discussion about this.)
>
> By default, the select test uses the MyISAM storage engine which
> provides exact statistics.
>
> In order to mask such row count differences, a test can use the
> replace_column command:
>
> --replace_column 9 x
> explain select ...
>
>
> Hope this helps,
>
> --
> Øystein
>
>> Hiromichi
>>
>>
>> --- On Thu, 6/16/11, Øystein
> Grøvlen<oystein.grovlen@stripped>   wrote:
>>
>>> From: Øystein Grøvlen<oystein.grovlen@stripped>
>>> Subject: Re: Regression test returning different result each time it's run
>>> To: "Hiromichi Watari"<hiromichiwatari@stripped>
>>> Cc: internals@stripped
>>> Date: Thursday, June 16, 2011, 3:22 AM
>>> On 15/06/2011 17:08, Hiromichi Watari
>>> wrote:
>>>> Hi,
>>>>
>>>> I'm running a regression test
>>> (/mysql-test/t/select.test) on 5.5 server (LaunchPad rev
>>> 3487) but each time I run the test I get different number of
>>> rows in explain select statements.
>>>> Is this normal behavior ?  Or am I missing
>>> something ?
>>>
>>> The difference is in the estimated number of rows in table
>>> t2.  This
>>> number is provided by the storage engine.  Maybe you
>>> are using a
>>> different storage engine?
>>>
>>> Hope this helps,
>>>
>>> --
>>> Øystein Grøvlen, Principal Software Engineer
>>> MySQL Group, Oracle
>>> Trondheim, Norway
>>>
>>>> Thanks,
>>>> Hiromichi
>>>>
>>>> p.s. I start up the server first then issue the
>>> following command,
>>>> [hwatari@desktop-intel mysql-test]$ sudo
>>> ./mysql-test-run.pl --extern socket=/tmp/mysql.sock
>>> t/select.test
>>>>
>>>>
>>> -------------------------------------------------------------------------
>>>>
>>>> ---
>>> /usr/local/mysql-5.5-3487/mysql-test/r/select.result
>>> 2011-05-03 15:00:59.000000000 +0300
>>>> +++
>>> /usr/local/mysql-5.5-3487/mysql-test/r/select.reject
>>> 2011-06-15 17:09:43.126761202 +0300
>>>> @@ -133,10 +133,10 @@
>>>>      1
>>> SIMPLE    t2
>>> ref    fld3
>>> fld3    30
>>> const    1    Using where;
>>> Using index
>>>>      explain select fld3 from t2 ignore
>>> index (fld3) where fld3 = 'honeysuckle';
>>>>      id
>>> select_type    table
>>> type    possible_keys
>>> key    key_len
>>> ref    rows    Extra
>>>> -1    SIMPLE
>>> t2    ALL
>>> NULL    NULL
>>> NULL    NULL
>>> 1199    Using where
>>>> +1    SIMPLE
>>> t2    ALL
>>> NULL    NULL
>>> NULL    NULL
>>> 1209    Using where
>>>>
>>>
>>> --
>>> MySQL Internals Mailing List
>>> For list archives: http://lists.mysql.com/internals
>>> To unsubscribe:    http://lists.mysql.com/internals?unsub=1
>>>
>>>
>

-- 
Rick James - MySQL Geek

Thread
Use of thread specific data with mysqldHiromichi Watari24 Apr
  • Re: Use of thread specific data with mysqldSergei Golubchik24 Apr
    • Re: Use of thread specific data with mysqldHiromichi Watari26 Apr
      • Re: Use of thread specific data with mysqldMarc Alff27 Apr
        • Re: Use of thread specific data with mysqldHiromichi Watari28 Apr
          • Re: Use of thread specific data with mysqldMats Kindahl3 May
            • Re: Use of thread specific data with mysqldHiromichi Watari4 May
            • Re: Use of thread specific data with mysqldMichael Widenius4 May
              • Regression test returning different result each time it's runHiromichi Watari15 Jun
                • Re: Regression test returning different result each time it's runØystein Grøvlen16 Jun
                  • Re: Regression test returning different result each time it's runHiromichi Watari16 Jun
                    • Re: Regression test returning different result each time it's runØystein Grøvlen16 Jun
                      • Re: Regression test returning different result each time it's runRick James16 Jun
                        • Re: Regression test returning different result each time it's runHiromichi Watari18 Jun
                      • Re: Regression test returning different result each time it's runHiromichi Watari18 Jun
                        • Name of function to execute mysql commandHiromichi Watari21 Jan