Nelle stored procedure di SQL Server quando utilizzare tabelle temporanee e quando utilizzare i cursori. qual è la migliore opzione per le prestazioni?Tabelle temporanee del server SQL vs cursori
risposta
Se possibile, evitare i cursori come la peste. SQL Server è basato su set - tutto ciò che devi fare in un modo RBAR (row-by-agonizing-row) sarà lento, lento e va contro i principi di base di come funziona SQL.
La tua domanda è molto vaga - sulla base di tali informazioni, non possiamo davvero dire cosa stai cercando di fare. Ma la raccomandazione principale rimane: quando possibile (ed è possibile nella maggior parte dei casi), utilizzare le operazioni basate su set - SELECT, UPDATE, INSERT
e join - non forzare il tuo modo di pensare procedurale su SQL Server - questo non è il modo migliore.
Quindi, se è possibile utilizzare le operazioni basate su set per riempire e utilizzare le tabelle temporanee, preferirei quel metodo sui cursori ogni volta.
I cursori funzionano fila per fila e sono estremamente scarsi. In quasi tutti i casi, possono essere sostituiti da un codice migliore basato su set (non normalmente tabelle temporanee)
Le tabelle temporali possono essere fini o meno a seconda dell'importo dei dati e di ciò che si sta facendo con essi. In genere non sostituiscono un cursore.
consiglio di leggere questo: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them
- 1. Tabelle temporanee in SQL Server?
- 2. Tabelle temporanee in sql server
- 3. Sql server 2008, sono tabelle temporanee univoche
- 4. SQL Server/Oracle: tabelle temporanee private
- 5. T-SQL SQL dinamico e tabelle temporanee
- 6. Dove vengono archiviate le tabelle temporanee nel server SQL?
- 7. Eliminazione di tabelle temporanee globali (## tempTable) in SQL Server
- 8. Le tabelle temporanee in SQL Server multiutente sono sicure?
- 9. SQL Server: le tabelle temporanee o i sindacati sono migliori?
- 10. SQL Server, tabelle temporanee con variabile troncata vs tabella con eliminazione
- 11. Creazione di tabelle temporanee in SQL
- 12. Rimuovi tabelle temporanee da Apache SQL Spark
- 13. Innodb e tabelle temporanee
- 14. Differenza tra Tabelle e tabelle temporanee
- 15. Record mancanti nelle tabelle del server SQL
- 16. Variabile del server SQL: loop vs duplicate?
- 17. Configurazione ottimale delle tabelle temporanee MySQL (tabelle di memoria)?
- 18. È necessario eliminare tabelle temporanee in mysql?
- 19. Prestazioni Hive vs SQL Server
- 20. Cursori del mouse CSS ... ruotare i cursori?
- 21. ADO.Net: definizione della tabella dalle tabelle del server SQL
- 22. Utilizzo di tabelle temporanee in IF .. Istruzioni ELSE
- 23. Tabelle di archiviazione Azure vs SQL
- 24. Come creare tabelle temporanee univoche nelle procedure MySQL?
- 25. DB2 vs PostgreSQL vs SQL Server
- 26. Aggiornamento server SQL utilizzando più tabelle
- 27. Unisci due tabelle in SQL Server 2008
- 28. SQL server unirsi vs domanda prestazioni subquery
- 29. nolock su una tabella temporanea in SQL Server 2008
- 30. Accesso Spark SQL RDD tabelle attraverso il Thrift Server
Né se si può farne a meno. SQL è basato su SET e generalmente può gestire le situazioni in cui si utilizzano più le tabelle temporanee e/oi cursori. –
Perché non CTE? http://msdn.microsoft.com/en-us/library/ms175972.aspx –
Puoi chiarire un po 'qui? Usare tabelle temporanee o usare cursori è un po 'come mele e arance. Le tabelle temporanee rispetto alle variabili di tabella sarebbero un confronto più appropriato. – tcnolan