CREATE TABLE IF NOT EXISTS `myTable` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `myGroup` int(11) DEFAULT NULL, `myContent` varchar(20) DEFAULT NULL, PRIMARY KEY (`ID`), KEY `Group` (`myGroup`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ; INSERT INTO `myTable` (`ID`, `myGroup`, `myContent`) VALUES (1, 2, '+=Z\\X:B|d:mK #5mc'), (2, 2, ''), (3, 2, 'u/RJI$SJ%T2G+|,e'), (4, 2, 'q=7yfy''Ttb:u\\S8h];'), (5, 2, '*J5eBaS'), (6, 1, 'oV#Nj-,[UkF9\\i[8&'), (7, 1, 'V Q$vyMc1'), (8, 1, '4f{(,;MTfogK'), (9, 1, '^f5D}'), (10, 1, ' F'), (11, 1, '<*b3%htX%ggh'), (12, 2, '"u'), (13, 2, '#|ui1z1Q@G'), (14, 2, '7CM=JGx*9WDS}'), (15, 1, 'u&P*$'), (16, 1, 'XuQ?0V<1N>h<'), (17, 1, ''), (18, 2, 'C'), (19, 2, 'W]9'), (20, 1, '`9-5eZ:`Lp[./^B'); DELIMITER //; CREATE FUNCTION `slowFunction`(pi_ID INTEGER(11)) RETURNS int(11) DETERMINISTIC READS SQL DATA SQL SECURITY DEFINER COMMENT '' BEGIN Select sleep(1) INTO @testtest; SET @myCount = @myCount+1; RETURN 1; END//; DELIMITER ; SET @myCount = 0; SELECT ID, myGroup, myContent, slowFunction(ID) AS slowFunctionAlias FROM myTable GROUP BY myGroup; SELECT @myCount; SET @myCount = 0; SELECT ID, myGroup, myContent, slowFunction(ID) AS slowFunctionAlias FROM myTable GROUP BY myGroup ORDER BY slowFunctionAlias; SELECT @myCount; show variables like "%version%";