DROP FUNCTION IF EXISTS `f6`;
DELIMITER |
CREATE FUNCTION `f6`(y DATE) RETURNS DATE
DETERMINISTIC—for test
BEGIN
RETURN y;
END;|
DELIMITER ;
DROP FUNCTION IF EXISTS `f4`;
DELIMITER |
CREATE FUNCTION `f4`(network_id BIGINT) RETURNS BIGINT
DETERMINISTIC—for test
BEGIN
RETURN network_id;
END;|
DELIMITER ;mysql> select count(*) from t ;
+—————-+
| count(*) |
+—————-+
| 276753210 |
+—————-+
1 row in set (0.01 sec)
select event_date,network_id from t where f4(40185)=network_id limit 1;
+——————+——————+
| event_date | network_id |
+——————+——————+
| 2010-09-01 | 40185 |
+——————+——————+
1 row in set (0.54 sec)
select event_date,network_id from t where event_date=f6(‘2010-12-29’) limit 1;
cost much more time
Why? Cause by DATE ?

