SELECT 1 was .42. What I find amazing is not the absolute numbers (it's an old computer with desktop installed, etc) but the difference between the tests. If SELECT 1 takes .42, test 2 shouldn't take more than 1 min... do you agree? Federico -------------------------------------------- Mar 3/3/15, Justin Swanhart <greenlion@gmail.com> ha scritto: Oggetto: Re: [Maria-discuss] stored programs A: "Peter Laursen" <peter_laursen@webyog.com> Cc: "Federico Razzoli" <federico_raz@yahoo.it>, "Maria Discuss" <maria-discuss@lists.launchpad.net> Data: Martedì 3 marzo 2015, 14:28 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@webyog.com> 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@yahoo.it> 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~maria-discuss Post to : maria-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-discuss More help : https://help.launchpad.net/ListHelp