当此函数调用表中仅包含 1100 条记录的表时,它需要很长时间


ALTER FUNCTION [dbo].[svf_mst703_category_value_name_input_value_code] (@category_value_id varchar(max))
RETURNS varchar(100)
AS
BEGIN
DECLARE @category_value_name varchar(100)
SELECT
@category_value_name = mcv.category_value_name
FROM dbo.mst703_category_value mcv
WHERE mcv.category_value_code = @category_value_id
RETURN @category_value_name;
END;

您应该看到该函数的"实际执行计划",以查看是否存在任何问题。如果您将其发布在这里,也会有所帮助。

我要做的另一件事是为mcv.category_value_code列添加一个索引。

试试这个

ALTER FUNCTION [dbo].[svf_mst703_category_value_name_input_value_code] (@category_value_id varchar(max))
RETURNS varchar(100)
AS
BEGIN
DECLARE @category_value_name varchar(100)
SET @category_value_name = (SELECT
TOP 1 mcv.category_value_name
FROM dbo.mst703_category_value mcv
WHERE mcv.category_value_code = @category_value_id)
RETURN @category_value_name;
END;

相关内容

最新更新