【发布时间】:2019-01-10 05:47:47
【问题描述】:
给定以下 Oracle 函数:
CREATE or REPLACE FUNCTION foo(id NUMBER, category VARCHAR) RETURN CHAR IS
TYPE MY_ARRAY2 IS TABLE OF NUMBER;
MY_ARRAY MY_ARRAY2;
BEGIN
SELECT my_id BULK COLLECT INTO my_array FROM my_table
RETURN (
CASE WHEN category = 'FOO' AND (id member of MY_ARRAY)
THEN 'Y'
ELSE 'N'
END
);
END;
查找的性质是什么:
SELECT my_id BULK COLLECT INTO my_array FROM my_table
或者,换一种说法,我可以在这一行或其他地方添加什么来加快查找速度 - 也许是一个索引?
【问题讨论】:
标签: sql oracle performance plsql bulk-operations