Qual è il numero massimo di join consentiti in SQL Server 2008?Qual è il numero massimo di join consentiti in SQL Server 2008?
risposta
Le limitazioni per SQL Server sono elencati here
Il numero di tabelle per query è limitato solo dalla quantità di risorse disponibili.
In SQL Server 2008, il numero massimo di tabelle che è possibile avere in un SELECT è limitato solo dalle risorse disponibili (source).
In SQL Server 2005, era presente un limite di 256 tabelle per un singolo SELECT (source).
Tuttavia, se ti stai avvicinando a questo tipo di numeri, sarei un po 'preoccupato per te!
"Raymond Chen nota che se devi chiedere dove sono i limiti del sistema operativo, probabilmente stai facendo qualcosa di sbagliato" http://www.codinghorror.com/blog/2007/10/pushing-operating-system-limits. html –
L'unica volta che ho visto qualcuno colpire i limiti è stato quando hanno usato scioccamente le viste per chiamare le viste che hanno chiamato viste, ecc. Se si stanno utilizzando le viste per visualizzare le viste, è ora di smettere quando il sistema è ancora funzionante (non solo ti imbatterai nei limiti, ma avrai dei gravi problemi di prestazioni molto prima di poter correre nei limiti del waht che può essere chiamato). – HLGEM
Abbiamo raggiunto legittimamente il limite 256 in SQL 2005 una volta. – Joshua
Le altre risposte già danno la risposta diretta alla sua domanda
limitata solo dalle risorse disponibili
Tuttavia, anche se SQL Server viene compilato con successo un piano per la query che non vuol dire che dovresti. Più join avrai lo spazio esponenzialmente più grande di possibili piani di query e potresti ottenere piani molto sub ottimali.
Per una query con 12 join il numero di ordini di join possibili è 28,158,588,057,600. Inoltre ogni join può essere di tre possibili algoritmi (hash, cicli annidati, merge)
Nella "risoluzione dei problemi pratici SQL Server 2005" libro Cesar Galindo-Legaria dice
Se si stanno unendo più di 20 tavoli, è probabile che l'ottimizzatore non sia rivedere l'intero spazio di ricerca ma basandoci maggiormente sull'euristica .... abbiamo visto applicazioni che eseguono query regolari che si occupano di oltre 100 tabelle. Mentre è possibile eseguire tali molto query di grandi dimensioni, si davvero stanno mettendo il sistema in questi casi e dovrebbe essere molto attenti andare così lontano
Come da linee guida Microsoft, più di cinque tabelle non possono accedere a SQL Server. È corretto? Se non è corretto, secondo la tua prospettiva, a quante tabelle è consentito l'accesso in SQL Server per prestazioni migliori. – RGS
Per inner join
, max 256 tabelle possono essere uniti. Per outer join
, è possibile unire fino a 2 tabelle.
Fonte: formazione in aula.
Ti suggerisco di chiedere un rimborso per questo corso.È banale scrivere una query che mostri che più di 2 tabelle possono essere unite esterne. –
- 1. Numero massimo di database nel server sql 2008
- 2. Loop Join in SQL Server 2008
- 3. Qual è il numero massimo di connessioni?
- 4. Qual è il numero massimo di caratteri consentiti in un attributo XML?
- 5. Qual è il numero massimo di file per jar?
- 6. Qual è il numero massimo di righe che una singola tabella SQL Server può memorizzare?
- 7. Qual è l'utilizzo di SYNONYM in SQL Server 2008?
- 8. Numero massimo di tabelle lavorabili in SQL Server e MySQL
- 9. Qual è il valore massimo di un numero in Lua?
- 10. Qual è il numero massimo di blocchi possibile in CUDA?
- 11. Qual è il numero massimo di connessioni cURL impostato da?
- 12. Differenza tra join loop nidificato e hash join in SQL Server 2008
- 13. SQL Server Join In Order
- 14. In un tasso di cambio valuta qual è il numero massimo di posizioni decimali utilizzate?
- 15. Qual è il numero massimo di spazi per le chiavi in Cassandra?
- 16. Qual è il numero massimo teorico di connessioni HTTP simultanee (simultanee) in un server Go?
- 17. Sintassi SQL per LEFT OUTER JOIN in SQL Server 2012
- 18. Join naturale in SQL Server
- 19. Qual è il numero massimo di connessioni TCP/IP simultanee di Windows?
- 20. SQL Server 2008 R2 Dimensione massima varbinary
- 21. Qual è la performance della clausola "Merge" in sql server 2008?
- 22. Qual è l'utilizzo di '@@' in SQL Server
- 23. Errore di registrazione in SQL Server 2008
- 24. Ricerca guasti deadlock in Sql Server 2008
- 25. SQL Server 2008: vincoli tabella Get
- 26. Funzione 'sp_syspolicy_purge_history' di SQL Server 2008
- 27. SQL Server 2008 Dati verticali su orizzontale
- 28. SQL Server 2008 - Ordina per stringhe con numero numericamente
- 29. Utilizzando PIVOT in SQL Server 2008
- 30. Qual è il collegamento per l'impostazione della chiave primaria in SQL Server 2008?
Grazie Barry per la risposta. – kandarp