表达式列是否影响查询性能
[CODE=SQL]
/* 比如*/
CREATE TABLE [tbA]
(
[aId] INT UNIQUE,
[aName] NVARCHAR(20)
)
GO
CREATE FUNCTION [fn_GetNameById]
(@aId INT)RETURNS NVARCHAR(20)
AS
BEGIN
DECLARE @aName NVARCHAR(20)
SELECT @aName=[aName] FROM [tbA] WHERE [aId]=@aId
RETURNS(@aName)
END
GO
CREATE TABLE [tbB]
(
[bId] INT PRIMARY KEY,
[aId] INT,
[aName] AS dbo.fn_GetNameById([aId])--表达式列
)
GO
/*如上所示 或者 表达式列更复杂
会不会在查询的时候对性能影响
也就是说 这个表达式列是存储在数据文件中还是类似视图那样在查询时候现算出来的
*/
SELECT * FROM [tbB]
[/CODE]