Нет под рукой сферы что бы проверить, но думаю идея понятна
Было бы интересно взять эти две функции да засунуть в цикл из тысячи итераций и посмотреть на скорость
Код
[FUNCTION f_math_2cathegory]
IF (<DB.Connected>==1)
DB.Query "SELECT REPLACE(REPLACE(REPLACE(FORMAT('<eval <argn>>', 2), '.', '@'), ',', '.'), '@', ',') as x"
IF (<DB.ROW.NumRows>>0)
return <DB.ROW.0.x>
ENDIF
ENDIF
return <eval <argn>>
===
Моё любопытство взяло верх, провел тесты
Код
FOR i 0 100000
mysql = 12905ms
Sirocco = 13068ms
FOR i 0 10000
mysql = 1495ms
Sirocco = 1320ms
Что говорит нам о том что лучше твой код сократить и использовать возможности mysql (IMG:
style_emoticons/default/smile.gif)
Ибо на долгой дистанции она дает бонус в скорости, а на короткой - разница совершенно не заметна, зато нет кода со сложной логикой + есть валидация и возможности sql