Вы можете сжать файлы tempdb mdf/ldf, используя команды shrinkfile, shrinkdatabase DBCC.
use tempdb
go
dbcc shrinkfile (tempdev, 'target size in MB')
go
dbcc shrinkfile (templog, 'target size in MB')
go
Письменный код эффективным образом может избежать роста tempdb. Избегайте использования «курсоров» в коде, которые являются основными убийцами производительности, и чем больше набор данных курсора, тем больше размер tempdb. Избегайте использования временных таблиц, если они не являются необязательными. использование #temptable, ## искуственно для всей области действия, когда это не требуется, снова вызовет проблемы с производительностью.
SQL 2005/2008 имеет CTE, где вы можете запрашивать данные в таблице temp, а область видимости - только одна строка.
;With CTETable as
(
SELECT <Columnlist> FROM <TableName> {Joins} WHERE <Condition> GROUP BY <Column List> ORDER BY <COlumn> ASC
)
SELECT ColumnList from CTETABLE
....
Statements
Сфера применения этого CTEtable заканчивается после строки «SELECT ColumnList from CTETABLE». Таким образом, он более эффективен. Написание эффективных запросов также поможет.
Вы пробовали поиск? –
Я не нашел ответ для пункта 2 после Google. У тебя есть идеи? – George2