Ho eseguito uno strumento di autoindicizzazione sul nostro database MS SQL (ho modificato uno script proveniente da Microsoft che esamina le tabelle delle statistiche dell'indice - Indicizzazione automatica automatizzata ). Dalle statistiche, ora ho un elenco di consigli per gli indici che devono essere creati. Modifica: gli indici sopra descritti …
Uso PostgreSQL 9.1 su Ubuntu 12.04. Devo selezionare i record in un intervallo di tempo: la mia tabella time_limitsha due timestampcampi e una integerproprietà. Ci sono ulteriori colonne nella mia tabella reale che non sono coinvolte con questa query. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, …
Quando si creano tabelle da più join da utilizzare nell'analisi, quando si preferisce utilizzare le viste anziché creare una nuova tabella? Uno dei motivi per cui preferirei utilizzare le viste è che lo schema del database è stato sviluppato dal nostro amministratore all'interno di Ruby e non ho familiarità con …
Quello che segue è un estratto da un libro sulla progettazione di database (ISBN di progettazione del database iniziale: 0-7645-7490-6): Il pericolo legato all'utilizzo delle viste è il filtraggio di una query in base a una vista, prevedendo di leggere una porzione molto piccola di una tabella molto grande. Qualsiasi …
Ho una domanda come la seguente: DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers ha 553 righe. tblFEStatsPaperHits ha 47.974.301 righe. tblFEStatsBrowsers: CREATE TABLE [dbo].[tblFEStatsBrowsers]( [BrowserID] [smallint] IDENTITY(1,1) NOT NULL, [Browser] [varchar](50) NOT NULL, [Name] [varchar](40) …
Per una query moderatamente complessa che sto cercando di ottimizzare, ho notato che la rimozione della TOP nclausola modifica il piano di esecuzione. Avrei immaginato che quando una query includesse TOP nil motore di database avrebbe eseguito la query ignorando la TOPclausola, e poi alla fine avrebbe solo ridotto quel …
È stato portato alla mia attenzione che il USINGcostrutto (anziché ON) nella FROMclausola delle SELECTquery potrebbe introdurre barriere di ottimizzazione in alcuni casi. Intendo questa parola chiave: SELEZIONA * Da un ISCRIVITI b USANDO (a_id) Solo in casi più complessi. Contesto: questo commento a questa domanda . Lo uso molto …
Esaminiamo queste due affermazioni: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Se lo CONDITION 1è TRUE, lo faràCONDITION 2 controllato? Se lo CONDITION 3è FALSE, verrà CONDITION 4controllato? Che dire delle condizioni WHERE: il motore di SQL Server ottimizza tutte le condizioni in …
Questa query ottiene un elenco di post creati dalle persone che segui. Puoi seguire un numero illimitato di persone, ma la maggior parte delle persone ne segue <1000. Con questo stile di query, l'ovvia ottimizzazione sarebbe quella di memorizzare nella cache gli "Post"ID, ma sfortunatamente non ho il tempo per …
Ho incontrato alcune SELECT DISTINCT TOP Nquery che sembrano essere scarsamente ottimizzate da Query Optimizer di SQL Server. Cominciamo prendendo in considerazione un esempio banale: un milione di righe con due valori alternati. Userò il GetNums funzione per generare i dati: DROP TABLE IF EXISTS X_2_DISTINCT_VALUES; CREATE TABLE X_2_DISTINCT_VALUES (PK …
Nelle query sottostanti si stima che entrambi i piani di esecuzione eseguano 1.000 ricerche su un indice univoco. Le ricerche sono guidate da una scansione ordinata sulla stessa tabella di origine, quindi apparentemente dovrebbe finire per cercare gli stessi valori nello stesso ordine. Entrambi i loop nidificati hanno <NestedLoops Optimized="false" …
Abbiamo riscontrato un problema interessante con SQL Server. Considera il seguente esempio di riproduzione: CREATE TABLE #test (s_guid uniqueidentifier PRIMARY KEY); INSERT INTO #test (s_guid) VALUES ('7E28EFF8-A80A-45E4-BFE0-C13989D69618'); SELECT s_guid FROM #test WHERE s_guid = '7E28EFF8-A80A-45E4-BFE0-C13989D69618' AND s_guid <> NEWID(); DROP TABLE #test; violino Per favore, dimentica per un momento che …
Ho avuto l'impressione che quando si utilizza l' LIKEoperatore in tutti gli scenari di ottimizzazione per scenari sconosciuti sia il legacy che i nuovi CE utilizzano una stima del 9% (supponendo che siano disponibili statistiche pertinenti e l'ottimizzatore delle query non debba ricorrere a ipotesi di selettività). Quando eseguo la …
Sto ponendo questa domanda al fine di comprendere meglio il comportamento dell'ottimizzatore e comprendere i limiti relativi agli spool degli indici. Supponiamo che io metta numeri interi da 1 a 10000 in un heap: CREATE TABLE X_10000 (ID INT NOT NULL); truncate table X_10000; INSERT INTO X_10000 WITH (TABLOCK) SELECT …
Vedo riferimenti frequenti a WITHquery (espressioni di tabella comuni o CTE) che agiscono come un recinto di ottimizzazione, in cui il server non è autorizzato a spingere i filtri verso il basso nelle query CTE, estrarre espressioni comuni dal CTE, ecc. Viene spesso affermato essere un comportamento richiesto dagli standard …
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.