たとえば、「、」区切り記号と個別の項目を使用して入力を与える2種類のコードがあります(例:入力:「1,2,3」出力:1と2と3)、最初は次のとおりです。
LABLE: LOOP
SET a = a + 1;
IF a <= p_count THEN
SET remainder = SUBSTRING_INDEX(input ,',',a);
SET remainder = SUBSTRING_INDEX(remainder,',',-1);
SELECT remainder;
ITERATE LABLE;
END IF;
LEAVE LABLE;
END LOOP LABLE;
2番目は次のとおりです。
SET remainder = input;
SET delimiter_length = LENGTH(delimiter);
WHILE LENGTH(remainder) > 0 AND cur_position > 0 DO
SET cur_position = INSTR(remainder, delimiter);
IF cur_position = 0 THEN
SET cur_string = remainder;
ELSE
SET cur_string = LEFT(remainder, cur_position - 1);
END IF;
SELECT cur_string;
SET remainder = SUBSTRING(remainder, cur_position + delimiter_length);
END WHILE;
さて、大規模なデータでどちらが優れているかを知りたいのですが、どちらが過負荷が低いということですか?