Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
ВнизВопрос по MSSql Найти похожие ветки
← →
KSergey (2002-01-15 09:36) [11]По поводу замедления от view. Я, правда, не сходил по вашей ссылке, но что-то сильно сомневаюсь в замедлении от view. Подозреваю, что он должны ускорять в тех случаях, когда выборка по ним производится вторично, ведь для этого не надо заново перестраивать план исполнения.
По поводу временных таблиц. Вообще конечно проще и лучше использовать временные таблицы, создаваемые сервером. Описано в любой документации.
Но бывают случае (во всяком случае у меня), когда временная таблица нужна для "долго" - например, как результат выполнения ХП, но локальная для пользователя. Тут я исп. такую ХП для получения имени временной таблицы
/*
* Возвращает имя для временной рабочей таблицы.
* Имя формируется как
* tb_<host>_<user>_<@Last>
* Хотя параметры можно не задавать, делать это рекомендуется для различения таблиц в разных ХП.
* Если таблица с полученным именем сеществует - она уничтожается (если параметр @IsDeleted = 1)
*
* Вызов:
DECLARE @TbleName VARCHAR (256)
EXEC spGetWorkTbName "specific", @TableName OUTPUT [, 0]
*/
CREATE PROCEDURE [spGetWorkTbName] (@Spec VARCHAR(100) = NULL, @TableName VARCHAR(256) OUTPUT, @IsDelete INT = 1) AS
SET @TableName = "tb_" + HOST_NAME() + "_" + USER_NAME() + "_" + ISNULL(@Spec, "")
IF @IsDelete = 1
BEGIN
IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @TableName)
EXEC ("DROP TABLE " + @TableName)
END
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c