maria-discuss team mailing list archive
-
maria-discuss team
-
Mailing list archive
-
Message #02346
Re: stored programs
You probably have either a faster CPU or bigger cache on your cpu. How long does benchmark select 1 take? You should find it is faster on your system too, right?
--Justin
Sent from my iPhone
> On Mar 3, 2015, at 6:18 AM, Peter Laursen <peter_laursen@xxxxxxxxxx> wrote:
>
> Your 3rd test case takes 2:02 in MariaDB 10.1 and 2:13 in MySQL 5.6 on my system (when otherwise idle) .
>
> -- Peter
>
>> On Tue, Mar 3, 2015 at 1:58 PM, Federico Razzoli <federico_raz@xxxxxxxx> wrote:
>> I made some quick test to show what I mean by "performance problem". Note that I'm not saying the the first and the second test cases should perform equally. But there is too much difference - see the conclusion.
>>
>> 1)
>>
>> MariaDB [test]> SELECT BENCHMARK(50000000, (SELECT 1));
>> +---------------------------------+
>> | BENCHMARK(50000000, (SELECT 1)) |
>> +---------------------------------+
>> | 0 |
>> +---------------------------------+
>> 1 row in set (0.42 sec)
>>
>> 2)
>>
>> DELIMITER ||
>> CREATE FUNCTION f()
>> RETURNS TINYINT
>> BEGIN
>> RETURN 1;
>> END ||
>> DELIMITER ;
>>
>> MariaDB [test]> SELECT BENCHMARK(50000000, (SELECT f()));
>> +-----------------------------------+
>> | BENCHMARK(50000000, (SELECT f())) |
>> +-----------------------------------+
>> | 0 |
>> +-----------------------------------+
>> 1 row in set (2 min 5.70 sec)
>>
>> 3)
>>
>> DELIMITER ||
>> CREATE FUNCTION f(x TINYINT)
>> RETURNS TINYINT
>> BEGIN
>> RETURN x;
>> END ||
>> DELIMITER ;
>>
>> MariaDB [test]> SELECT BENCHMARK(50000000, (SELECT f(1)));
>> +------------------------------------+
>> | BENCHMARK(50000000, (SELECT f(1))) |
>> +------------------------------------+
>> | 0 |
>> +------------------------------------+
>> 1 row in set (3 min 35.20 sec)
>>
>> -- Conclusions:
>>
>> Times in seconds:
>>
>> 0.42
>> 125.70
>> 215.20
>>
>> I don't know which ratio would be acceptable, but the difference betweem a trivial query and a trivial function is too high.
>> Also, the difference between 2) and 3) is that the function in 3) accepts and returns a parameter. Again, the performance difference seems to me too high.
>>
>> Regards
>> Federico
>>
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~maria-discuss
>> Post to : maria-discuss@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~maria-discuss
>> More help : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~maria-discuss
> Post to : maria-discuss@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~maria-discuss
> More help : https://help.launchpad.net/ListHelp
Follow ups
References