MariaDB> EXPLAIN EXTENDED SELECT 'Literal', COUNT(*) FROM bugtab WHERE c1 = 'X';
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| 1 | SIMPLE | bugtab | ALL | NULL | NULL | NULL | NULL | 1047144 | 100.00 | Using where |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
1 row in set, 1 warning (0.001 sec)
|
|
MariaDB> SHOW WARNINGS;
|
+-------+------+------------------------------------------------------------------------------------------------------------+
|
| Level | Code | Message |
|
+-------+------+------------------------------------------------------------------------------------------------------------+
|
| Note | 1003 | select 'Literal' AS "Literal",count(0) AS "COUNT(*)" from "test"."bugtab" where "test"."bugtab"."c1" = 'X' |
|
+-------+------+------------------------------------------------------------------------------------------------------------+
|
1 row in set (0.000 sec)
|
|
MariaDB> EXPLAIN EXTENDED SELECT 'Deterministic function', COUNT(*) FROM bugtab WHERE c1 = bugf1();
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| 1 | SIMPLE | bugtab | ALL | NULL | NULL | NULL | NULL | 1047144 | 100.00 | Using where |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
1 row in set, 1 warning (0.000 sec)
|
|
MariaDB> SHOW WARNINGS;
|
+-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Level | Code | Message |
|
+-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Note | 1003 | select 'Deterministic function' AS "Deterministic function",count(0) AS "COUNT(*)" from "test"."bugtab" where "test"."bugtab"."c1" = <cache>("bugf1"()) |
|
+-------+------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
|
1 row in set (0.000 sec)
|
|
MariaDB> EXPLAIN EXTENDED SELECT 'Non-deterministic function', COUNT(*) FROM bugtab WHERE c1 = bugf2();
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| 1 | SIMPLE | bugtab | ALL | NULL | NULL | NULL | NULL | 1047144 | 100.00 | Using where |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
1 row in set, 1 warning (0.000 sec)
|
|
MariaDB> SHOW WARNINGS;
|
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Level | Code | Message |
|
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Note | 1003 | select 'Non-deterministic function' AS "Non-deterministic function",count(0) AS "COUNT(*)" from "test"."bugtab" where "test"."bugtab"."c1" = "bugf2"() |
|
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
|
1 row in set (0.000 sec)
|
|
MariaDB> EXPLAIN EXTENDED SELECT 'Deterministic package function', COUNT(*) FROM bugtab WHERE c1 = pkgbug.bugf3();
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| 1 | SIMPLE | bugtab | ALL | NULL | NULL | NULL | NULL | 1047144 | 100.00 | Using where |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
1 row in set, 1 warning (0.000 sec)
|
|
MariaDB> SHOW WARNINGS;
|
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Level | Code | Message |
|
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Note | 1003 | select 'Deterministic package function' AS "Deterministic package function",count(0) AS "COUNT(*)" from "test"."bugtab" where "test"."bugtab"."c1" = "test"."pkgbug"."bugf3"() |
|
+-------+------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
1 row in set (0.000 sec)
|
|
MariaDB> EXPLAIN EXTENDED SELECT 'Non-deterministic package function', COUNT(*) FROM bugtab WHERE c1 = pkgbug.bugf4();
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
| 1 | SIMPLE | bugtab | ALL | NULL | NULL | NULL | NULL | 1047144 | 100.00 | Using where |
|
+------+-------------+--------+------+---------------+------+---------+------+---------+----------+-------------+
|
1 row in set, 1 warning (0.001 sec)
|
|
MariaDB> SHOW WARNINGS;
|
+-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Level | Code | Message |
|
+-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
| Note | 1003 | select 'Non-deterministic package function' AS "Non-deterministic package function",count(0) AS "COUNT(*)" from "test"."bugtab" where "test"."bugtab"."c1" = "test"."pkgbug"."bugf4"() |
|
+-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
1 row in set (0.000 sec)
|