Сделать SQL Server более быстрым при обработке данных - отключить ведение журнала транзакций?
Один из способов избежать sql-srever ведения журнала при работе mssql2005 с большими наборами данных sql-server - использовать SELECT / INTO. Будет sql-server-2005 создана новая таблица, но sql-server-2005 она не будет зарегистрирована.
При sql2005 этом нужно следить за некоторыми mssql вещами:
- Вычисляемые столбцы становятся обычными столбцами данных.
- Также необходимо установить столбцы индексации и идентификации.
Если все сделано правильно, это mssql может сэкономить не только mssql пространство, но и время mssql2005 обработки.
Альтернативой является mssql что-то вроде того, что я sql-srever делаю прямо сейчас, например:
UPDATE [MyTable]
SET [Message] = REPLACE([Message], N'Content_Type', N'Content-Type')
Работает sql-server нормально, но обновляет всю mssql2005 таблицу, создавая один огромный mssql2005 набор транзакций, вместо sql-server этого вы можете:
DECLARE @IDs TABLE ([id] int)
DECLARE @Batch TABLE ([id] int)
INSERT INTO @IDs ([ID]) SELECT [ID] FROM [MyTable]
WHILE EXISTS (SELECT TOP 1 [ID] FROM @IDs)
BEGIN
INSERT INTO @Batch ([ID]) SELECT TOP 1000 [Id] FROM @IDS
UPDATE [MyTable]
SET [Message] = REPLACE([Message], N'Content_Type', N'Content-Type')
WHERE [Id] IN (SELECT [Id] FROM @Batch)
DELETE @IDs WHERE [Id] IN (SELECT [Id] FROM @Batch)
DELETE @Batch
END
Это обновляет mssql2005 таблицу по 1000 строк за sql-server-2005 раз, уменьшая размер транзакции.
sql-server
sql-server-2005
Сделать SQL Server более быстрым при обработке данных - отключить ведение журнала транзакций?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.