Ho una procedura memorizzata che contiene la logica aziendale. Al suo interno ho circa 1609 variabili (non chiedermi perché, ecco come funziona il motore). Provo a SETuna variabile al valore concatenato di tutte le altre variabili. Di conseguenza durante la creazione ottengo l'errore: Messaggio 8631, livello 17, stato 1, procedura …
Avevo l'impressione che se dovessi sommare DATALENGTH()tutti i campi per tutti i record in una tabella otterrei la dimensione totale della tabella. Mi sbaglio? SELECT SUM(DATALENGTH(Field1)) + SUM(DATALENGTH(Field2)) + SUM(DATALENGTH(Field3)) TotalSizeInBytes FROM SomeTable WHERE X, Y, and Z are true Ho usato questa query di seguito (che ho ricevuto online …
Stiamo vedendo i tipi di attesa PAGELATCH_EX e PAGELATCH_SH molto alti insieme alle attese WRITELOG elevate. Ho diagnosticato la query che ha causato l'attesa di PAGELATCH e posso eliminarli riducendo la frequenza di inserimento in una chiave primaria cluster occupata definita con un valore IDENTITY. Comprendo che questo fenomeno è …
Quando un indice è disabilitato, la definizione rimane nel catalogo di sistema ma non viene più utilizzata. SQL Server non mantiene l'indice (poiché i dati nella tabella cambiano) e l'indice non può essere utilizzato per soddisfare le query. Se un indice cluster è disabilitato, l'intera tabella diventa inaccessibile. Perché non …
Una domanda che è emersa in una discussione in chat: So che hash join passa internamente a una sorta di cosa dei loop nidificati. Cosa fa SQL Server per un salvataggio dell'hash aggregate (se ciò può accadere)?
La mia domanda è: in che modo SQL Server gestisce una query che deve estrarre più volume di dati nella cache del buffer di quanto sia disponibile spazio? Questa query conterrà più join, quindi il set di risultati non esiste già in questo formato sul disco e dovrebbe compilare i …
Anche dopo aver letto la Guida alle prestazioni del caricamento dei dati , non sono ancora sicuro se è necessario aggiungere il suggerimento della tabella TABLOCK a una tabella temporanea vuota, definita con un indice cluster per ottenere una registrazione minima. Ovviamente la tabella temporanea è stata creata in TempDB …
Abbiamo un SQL Server 2016 SP1 con memoria massima impostata su 24 GB. Questo server ha un numero elevato di compilazioni, solo il 10% di queste compilazioni proviene da query ad hoc. Pertanto, i piani appena compilati devono essere archiviati nella cache del piano ma le dimensioni della cache del …
Per la query del database di esempio AdventureWorks di seguito: SELECT P.ProductID, CA.TransactionID FROM Production.Product AS P CROSS APPLY ( SELECT TOP (1) TH.TransactionID FROM Production.TransactionHistory AS TH WHERE TH.ProductID = P.ProductID ORDER BY TH.TransactionID DESC ) AS CA; Il piano di esecuzione mostra un costo stimato dell'operatore di 0,0850383 …
Sto leggendo il libro di Itzik "Querying Microsoft SQL Server 2012" e leggendo / guardando diversi materiali didattici su Internet. La mia intenzione è quella di avere una comprensione utile di come funzionano gli interni del database. Ho un piccolo dubbio che non sono riuscito a risolvere le pagine IAM. …
La mia vera query di lavoro era un join interno, ma questo semplice esempio con cross join sembra quasi sempre riprodurre il problema. SELECT * FROM ( SELECT 1 UNION ALL SELECT 2 ) AA ( A ) CROSS JOIN ( SELECT NEWID() TEST_ID ) BB ( B ) Con …
Questa è una domanda interna al database. Sto usando PostgreSQL 9.5, mi chiedo perché Set Returning Functions (SRFs), noto anche come Table Valued Functions (TVFs) funzioni più lentamente quando in una FROMclausola, ad esempio quando eseguo questi comandi, CREATE TABLE foo AS SELECT * FROM generate_series(1,1e7); SELECT 10000000 Time: 5573.574 …
Devo creare un'ampia tabella denormalizzata con molte colonne decimali (26,8) (meno del limite di 1024 colonne, la maggior parte delle colonne sarebbe nulla o zero). Conosco circa 8060 byte per limitazione di riga, quindi ho provato a creare una tabella con la compressione della pagina. Il codice seguente crea una …
Dopo aver creato il database tpch nel mio SQL Server, ho provato di seguito la query: set statistics io on DBCC DROPCLEANBUFFERS; select top 100 * from dbo.lineitem order by l_partkey; La tabella lineitem ha un indice non cluster su l_partkey. Ho inviato le query precedenti per diverse volte e …
Considera la query seguente: CREATE PROC dbo.GetPage @orderid AS INT = 0, -- anchor sort key @pagesize AS BIGINT = 25 AS SELECT TOP (@pagesize) orderid, orderdate, custid, empid FROM dbo.Orders WHERE orderid > @orderid ORDER BY orderid; exec GetPage 25,25 SET STATISTICS IO per la query precedente restituita: (25 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.