Ik denk dat dit kan worden getest met de functie sleep()
kijk bijvoorbeeld eens naar deze demo:http://sqlfiddle.com/#!2/0bc1b/1
Select * FROM t;
| X |
|---|
| 1 |
| 2 |
| 2 |
SELECT x+sleep(1)
FROM t
GROUP BY x+sleep(1);
SELECT x+sleep(1) As name
FROM t
GROUP BY name;
De uitvoeringstijden van beide query's zijn ongeveer 3000 ms (3 seconden).
Er zijn 3 records in de tabel en voor elke record slaapt de query slechts 1 seconde,
dus het betekent dat de expressie wordt geëvalueerd slechts één keer voor elk record, niet twee keer.