Vous pouvez réduire les fichiers tempdb mdf/ldf à l'aide des commandes DBCC shrinkfatabase et shrinkdatabase.
use tempdb
go
dbcc shrinkfile (tempdev, 'target size in MB')
go
dbcc shrinkfile (templog, 'target size in MB')
go
L'écriture d'un code de manière efficace peut éviter la croissance du tempdb. Évitez d'utiliser des "curseurs" dans votre code qui sont des facteurs de performance majeurs et plus l'ensemble de données du curseur est grand, plus la taille du tempdb est grande. Évitez d'utiliser des tables temporaires lorsque ce n'est pas nécessaire. l'utilisation de #temptable, ## temptable pour l'ensemble de la portée lorsque celle-ci n'est pas requise entraînera à nouveau des problèmes de performance. SQL 2005/2008 possède des CTE dans lesquels vous pouvez interroger des données sur une table temporaire et la portée est juste une ligne après cela.
;With CTETable as
(
SELECT <Columnlist> FROM <TableName> {Joins} WHERE <Condition> GROUP BY <Column List> ORDER BY <COlumn> ASC
)
SELECT ColumnList from CTETABLE
....
Statements
La portée de cette table CTE expire après la ligne "SELECT ColumnList from CTETABLE". De cette façon, il est plus efficace. Rédaction de requêtes efficaces serait également utile.
avez-vous essayé de chercher? –
Je n'ai pas trouvé de réponse pour l'article 2 après Google. As tu des idées? – George2