Мне нужно создать временную таблицу для целей подкачки. Я бы выбрал все записи во временную таблицу, а затем провел бы дальнейшую обработку с ней.
Мне интересно, какой из следующих подходов лучше:
1) Выделите все столбцы моей Первичной таблицы во Временную таблицу и затем сможете выбрать нужные мне строки
OR
2) Выбрать только первичный ключ первичной таблицы во временную таблицу, а затем присоединиться к первичной таблице?
Есть ли соображения по размеру при работе с подходом 1 против подхода 2?
[EDIT]
Я спрашиваю, потому что я бы сделал первый подход, но, глядя на PROCEDURE [dbo]. [Aspnet_Membership_FindUsersByName], который был включен в членство ASP.NET, они используют подход 2
[EDIT2]
С людьми, не имеющими доступа к хранимой процедуре:
-- Insert into our temp table
INSERT INTO #PageIndexForUsers (UserId)
SELECT u.UserId
FROM dbo.aspnet_Users u, dbo.aspnet_Membership m
WHERE u.ApplicationId = @ApplicationId AND m.UserId = u.UserId AND u.LoweredUserName LIKE LOWER(@UserNameToMatch)
ORDER BY u.UserName
SELECT u.UserName, m.Email, m.PasswordQuestion, m.Comment, m.IsApproved,
m.CreateDate,
m.LastLoginDate,
u.LastActivityDate,
m.LastPasswordChangedDate,
u.UserId, m.IsLockedOut,
m.LastLockoutDate
FROM dbo.aspnet_Membership m, dbo.aspnet_Users u, #PageIndexForUsers p
WHERE u.UserId = p.UserId AND u.UserId = m.UserId AND
p.IndexId >= @PageLowerBound AND p.IndexId <= @PageUpperBound
ORDER BY u.UserName