在表中的每一行中有子查询是好还是坏?

时间:2014-06-05 11:34:43

标签: mysql sql

我在每个mysql表中都有多个子查询的情况。当大型数据库表时,我不知道这个概念是好还是坏。请建议。这里我有mysql函数在select语句本身运行子查询。

这是mysql函数GET_DEFAULT_VAL

DELIMITER $$
CREATE DEFINER=`root`@`localhost` FUNCTION `GET_DEFAULT_VAL`(
  x text
) RETURNS text
DETERMINISTIC
BEGIN
  DECLARE columnList TEXT;
  SET group_concat_max_len = 65533;
  SELECT GROUP_CONCAT(`default_value` SEPARATOR ',')
  FROM `field_default_values` where find_in_set(`id`,x)
  INTO columnList;
  RETURN columnList;
END$$

这里是field_default_values表

------------------------------------
id  |    multi_option_clm
------------------------------------

1       option1

2       option2

3       option3

4       option4 

这是select语句

select id , multi_option_clm from table1;

------------------------------------
id  |    multi_option_clm
------------------------------------

1       1,2

2       2,3,4



select id, GET_DEFAULT_VAL(`multi_option_clm`) from table1;

我将结果显示为

------------------------------------
id  |    multi_option_clm
------------------------------------

1       option1,option2

2       option2,option3,option4

大型数据库表会导致性能问题吗?

0 个答案:

没有答案