Durante la creazione del profilo di un database mi sono imbattuto in una vista che fa riferimento ad alcune funzioni non deterministiche a cui si accede 1000-2500 volte al minuto per ogni connessione nel pool di questa applicazione. Un semplice SELECTdalla vista produce il seguente piano di esecuzione: Sembra un …
Questa è una domanda semplice per la quale non riesco a trovare la risposta. In termini di prestazioni, se ho una WHEREclausola del tipo a=0 and b=0 and ... z=0, otterrei prestazioni se sostituissi quella condizione con a+b+...+z=0? In altre parole, c'è qualche guadagno in termini di prestazioni sostituendo quanto …
Ho scritto un'applicazione con un back-end di SQL Server che raccoglie e archivia e una quantità estremamente elevata di record. Ho calcolato che, al culmine, la quantità media di record è da qualche parte nel viale di 3-4 miliardi al giorno (20 ore di funzionamento). La mia soluzione originale (prima …
Questa domanda è stata migrata dallo Stack Overflow perché è possibile rispondere allo scambio dello stack degli amministratori di database. Migrato 7 anni fa . Ho un'istruzione SQL UPDATE con una clausola "TOP (X)" e la riga in cui sto aggiornando i valori ha circa 4 miliardi di righe. Quando …
Questa domanda è stata migrata dallo Stack Overflow perché è possibile rispondere allo scambio dello stack degli amministratori di database. Migrato 7 anni fa . Mi è stato suggerito che l'uso delle istruzioni IF nei batch t-SQL è dannoso per le prestazioni. Sto cercando di trovare qualche conferma o convalidare …
Ho un tavolo come questo: CREATE TABLE Updates ( UpdateId INT NOT NULL IDENTITY(1,1) PRIMARY KEY, ObjectId INT NOT NULL ) Sostanzialmente tenere traccia degli aggiornamenti degli oggetti con un ID crescente. Il consumatore di questa tabella selezionerà un blocco di 100 ID oggetto distinti, ordinati per UpdateIde partendo da …
Di solito progetto i miei database seguendo le seguenti regole: Nessun altro che db_owner e sysadmin hanno accesso alle tabelle del database. I ruoli utente sono controllati a livello di applicazione. Di solito utilizzo un ruolo db per concedere l'accesso a viste, procedure e funzioni memorizzate, ma in alcuni casi …
Data la seguente tabella heap con 400 righe numerate da 1 a 400: DROP TABLE IF EXISTS dbo.N; GO SELECT SV.number INTO dbo.N FROM master.dbo.spt_values AS SV WHERE SV.[type] = N'P' AND SV.number BETWEEN 1 AND 400; e le seguenti impostazioni: SET NOCOUNT ON; SET STATISTICS IO, TIME OFF; SET …
Ho una query che funziona molto più velocemente con select top 100e molto più lentamente senza top 100. Il numero di record restituiti è 0. Potresti spiegare la differenza nei piani di query o condividere collegamenti in cui tale differenza è spiegata? La query senza toptesto: SELECT --TOP 100 * …
Supponiamo di avere una definizione di tabella come questa: CREATE TABLE MyTab ( ID INT IDENTITY(1,1) CONSTRAINT PK_MyTab_ID PRIMARY KEY ,GroupByColumn NVARCHAR(10) NOT NULL ,WhereColumn DATETIME NULL ) E un indice non cluster filtrato come questo: CREATE NONCLUSTERED INDEX IX_MyTab_GroupByColumn ON MyTab (GroupByColumn) WHERE (WhereColumn IS NULL) Perché questo indice …
Abbiamo un database di grandi dimensioni, circa 1 TB, che esegue SQL Server 2014 su un server potente. Tutto ha funzionato bene per alcuni anni. Circa 2 settimane fa abbiamo effettuato una manutenzione completa, che includeva: Installa tutti gli aggiornamenti software; ricostruire tutti gli indici e i file DB compatti. …
Ho la seguente domanda: select databasename from somedb.dbo.bigtable l where databasename ='someval' and source <>'kt' and not exists(select 1 from dbo.smalltable c where c.source=l.source) La query precedente viene completata in tre secondi. Se la query sopra restituisce un valore, vogliamo che la procedura memorizzata ESCI, quindi la riscrivo come di …
Ho sempre visto la gente dice che gli indici rallentano update, deletee insert. Questo è usato come un'istruzione coperta, come se fosse un assoluto. Mentre ottimizzo il mio database per migliorare le prestazioni, continuo a imbattermi in questa situazione che sembra contraddire logicamente quella regola per me, e da nessuna …
Ho due query quasi identiche in esecuzione sulla stessa istanza di SQL Server 2005: La prima è la SELECTquery originale generata da LINQ (lo so, lo so ... non sono lo sviluppatore dell'applicazione, ma solo il DBA :). Il secondo è esattamente lo stesso del primo, aggiunto OPTION (RECOMPILE)a alla …
Qual è il modo più efficiente per recuperare intervalli di date con una struttura di tabella come questa? create table SomeDateTable ( id int identity(1, 1) not null, StartDate datetime not null, EndDate datetime not null ) go Di 'che vuoi un intervallo per entrambi StartDatee EndDate. Quindi, in altre …
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.