Porre questa domanda, in particolare per Postgres, in quanto ha un buon supporto per gli indici R-tree / spaziali. Abbiamo la seguente tabella con una struttura ad albero (modello di set nidificato) di parole e le loro frequenze: lexikon ------- _id integer PRIMARY KEY word text frequency integer lset integer …
Disponiamo di un data warehouse con un numero di record abbastanza grande (10-20 milioni di righe) e spesso eseguiamo query che contano i record tra determinate date o contano i record con determinati flag, ad es. SELECT f.IsFoo, COUNT(*) AS WidgetCount FROM Widgets AS w JOIN Flags AS f ON …
Sto eseguendo un aggiornamento in cui ho bisogno di una parità esatta su una tstzrangevariabile. Vengono modificate ~ 1 milione di righe e la query richiede ~ 13 minuti. Il risultato di EXPLAIN ANALYZEpuò essere visto qui e i risultati effettivi sono estremamente diversi da quelli stimati dal pianificatore di …
Fa differenza se si filtra una vista all'interno o all'esterno della vista? Ad esempio, c'è qualche differenza tra queste due query? SELECT Id FROM MyTable WHERE SomeColumn = 1 O SELECT Id FROM MyView WHERE SomeColumn = 1 Ed MyViewè definito come SELECT Id, SomeColumn FROM MyTable E la risposta …
Si consideri il seguente piano di query in SQL Server 2014: Nel piano di query, un auto-join ar.fId = ar.fIdgenera una stima di 1 riga. Tuttavia, questa è una stima logicamente incoerente: arha 20,608righe e solo un valore distinto di fId(riflesso accuratamente nelle statistiche). Pertanto, questo join produce l'intero prodotto …
Ho un database in cui carico i file in una tabella di gestione temporanea, da questa tabella di gestione temporanea ho 1-2 join per risolvere alcune chiavi esterne e quindi inserire queste righe nella tabella finale (che ha una partizione al mese). Ho circa 3,4 miliardi di righe per tre …
So che le procedure memorizzate sono più efficienti attraverso il percorso di esecuzione (rispetto al sql inline nelle applicazioni). Tuttavia, quando premuto, non sono super conoscibile sul perché. Mi piacerebbe conoscere il ragionamento tecnico per questo (in modo da poterlo spiegare a qualcuno in seguito). Qualcuno può aiutarmi a formulare …
Sto sviluppando un'applicazione in Ruby on Rails con il database PostgreSQL (9.4). Nel mio caso d'uso, le colonne nelle tabelle verranno cercate molto frequentemente, poiché l'intero punto dell'applicazione è alla ricerca di attributi molto specifici su un modello. Attualmente sto decidendo se utilizzare un integertipo o semplicemente utilizzare un tipo …
Ho una domanda interessante per me sulla SARGability. In questo caso, si tratta di utilizzare un predicato sulla differenza tra due colonne di date. Ecco la configurazione: USE [tempdb] SET NOCOUNT ON IF OBJECT_ID('tempdb..#sargme') IS NOT NULL BEGIN DROP TABLE #sargme END SELECT TOP 1000 IDENTITY (BIGINT, 1,1) AS ID, …
Ho letto questi articoli in PCMag di Itzik Ben-Gan : Cercate e Scan Parte I: Quando l'Optimizer non ottimizza Cercate e scansione Parte II: ascendente Keys Attualmente sto riscontrando un problema "Grouped Max" con tutte le nostre tabelle partizionate. Usiamo il trucco fornito da Itzik Ben-Gan per ottenere un max …
Questa domanda è collegata alla mia vecchia domanda . La query di seguito impiegava da 10 a 15 secondi per l'esecuzione: SELECT [customer].[Customer name],[customer].[Sl_No],[customer].[Id] FROM [company].dbo.[customer] WHERE (Charindex('123456789',CAST([company].dbo.[customer].[Phone no] AS VARCHAR(MAX)))>0) In alcuni articoli ho visto che l'utilizzo CASTe CHARINDEXnon trarrà beneficio dall'indicizzazione. Ci sono anche alcuni articoli che affermano …
Ho bisogno di una query che può essere utilizzata in (o come) una funzione e recupera tutte le combinazioni di n valori. E ho bisogno di tutte le combinazioni di lunghezza k dove k = 1..n. Input e risultato del campione estesi, pertanto l'input ha 3 valori invece di 2, …
Dì, abbiamo una domanda come questa: select a.*,b.* from a join b on a.col1=b.col1 and len(a.col1)=10 Supponendo che la query precedente utilizzi un hash join e abbia un residuo, la chiave della sonda sarà col1e il residuo sarà len(a.col1)=10. Ma mentre faccio un altro esempio, ho potuto vedere sia la …
Nel seguente frammento del piano di query, sembra ovvio che la stima di riga per l' Concatenationoperatore dovrebbe essere ~4.3 billion rowso la somma delle stime di riga per i suoi due input. Tuttavia, ~238 million rowsviene prodotta una stima , che porta a una strategia Sort/ subottimale Stream Aggregateche …
Ho una procedura memorizzata che restituisce risultati da una vista indicizzata tramite un indice di copertura. Di solito, funziona veloce (~ 10ms), a volte può durare fino a 8 secondi. Ecco un esempio di esecuzione casuale (nota: questa non è lenta, ma il testo della query è lo stesso a …
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.