Diese Frage speziell für Postgres zu stellen, da es eine gute Unterstützung für R-Tree / Spatial-Indizes bietet. Wir haben die folgende Tabelle mit einer Baumstruktur (Nested Set-Modell) von Wörtern und ihren Häufigkeiten: lexikon ------- _id integer PRIMARY KEY word text frequency integer lset integer UNIQUE KEY rset integer UNIQUE KEY …
Wir haben ein Data Warehouse mit einer ziemlich großen Datensatzanzahl (10-20 Millionen Zeilen) und führen häufig Abfragen aus, die Datensätze zwischen bestimmten Datumsangaben oder Datensätze mit bestimmten Flags zählen, z SELECT f.IsFoo, COUNT(*) AS WidgetCount FROM Widgets AS w JOIN Flags AS f ON f.FlagId = w.FlagId WHERE w.Date >= …
Ich führe ein Update durch, bei dem ich eine genaue Gleichheit für eine tstzrangeVariable benötige . ~ 1 Million Zeilen werden geändert, und die Abfrage dauert ~ 13 Minuten. Das Ergebnis EXPLAIN ANALYZEist zu sehen, hier , und die tatsächlichen Ergebnisse sind sehr verschieden von denen der Anfrageplaner geschätzt. Das …
Macht es einen Unterschied, ob Sie eine Ansicht innerhalb oder außerhalb der Ansicht filtern? Gibt es beispielsweise einen Unterschied zwischen diesen beiden Abfragen? SELECT Id FROM MyTable WHERE SomeColumn = 1 Oder SELECT Id FROM MyView WHERE SomeColumn = 1 Und MyViewist definiert als SELECT Id, SomeColumn FROM MyTable Und …
Betrachten Sie den folgenden Abfrageplan in SQL Server 2014: Im Abfrageplan ar.fId = ar.fIdergibt eine Selbstverknüpfung eine Schätzung von 1 Zeile. Dies ist jedoch eine logisch inkonsistente Schätzung: Sie arenthält 20,608Zeilen und nur einen eindeutigen Wert von fId(in der Statistik genau wiedergegeben). Daher erzeugt dieser Join das vollständige Kreuzprodukt von …
Ich habe eine Datenbank, in der ich Dateien in eine Staging-Tabelle lade. Aus dieser Staging-Tabelle habe ich 1-2 Joins, um einige Fremdschlüssel aufzulösen und diese Zeilen in die endgültige Tabelle einzufügen (die eine Partition pro Monat hat). Ich habe ungefähr 3,4 Milliarden Zeilen für Daten aus drei Monaten. Was ist …
Ich weiß, dass gespeicherte Prozeduren über den Ausführungspfad effizienter sind (als die Inline-SQL in Anwendungen). Wenn ich gedrückt werde, weiß ich nicht genau, warum. Ich würde gerne die technischen Gründe dafür erfahren (so, dass ich es später jemandem erklären kann). Kann mir jemand helfen, eine gute Antwort zu formulieren?
Ich entwickle eine Anwendung in Ruby on Rails mit der PostgreSQL (9.4) -Datenbank. Für meinen Anwendungsfall werden Spalten in Tabellen sehr häufig nachgeschlagen, da die gesamte Anwendung nach sehr spezifischen Attributen in einem Modell sucht. Ich bin zur Entscheidung darüber , ob eine verwenden integerArt oder einfach einen typischen String …
Ich habe für mich eine interessante Frage zu SARGability. In diesem Fall wird ein Prädikat für die Differenz zwischen zwei Datumsspalten verwendet. Hier ist das Setup: 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, CAST(DATEADD(DAY, …
Ich habe diese Artikel in PCMag von Itzik Ben-Gan gelesen : Suchen und Sie scannen Teil I: Wenn das Optimierungsprogramm nicht optimiert, suchen und Sie scannen Teil II: Aufsteigende Tasten Ich habe derzeit ein "Grouped Max" -Problem mit all unseren partitionierten Tabellen. Wir verwenden den von Itzik Ben-Gan bereitgestellten Trick …
Diese Frage hängt mit meiner alten Frage zusammen . Die folgende Abfrage dauerte 10 bis 15 Sekunden: 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 einigen Artikeln habe ich gesehen, dass die Verwendung von CASTund CHARINDEXnicht von der Indizierung profitieren. Es gibt auch einige Artikel, die besagen, …
Ich benötige eine Abfrage, die in (oder als) eine Funktion verwendet werden kann und alle Kombinationen von n Werten abruft. Und ich brauche alle Kombinationen der Länge k mit k = 1..n. Erweiterte Probeneingabe und Ergebnis, sodass die Eingabe 3 statt 2 Werte hat. Die Anzahl der Eingabewerte kann jedoch …
Angenommen, wir haben eine Abfrage wie die folgende: select a.*,b.* from a join b on a.col1=b.col1 and len(a.col1)=10 Angenommen, die obige Abfrage verwendet einen Hash-Join und hat einen Residuum, dann ist der Prüfschlüssel col1und der Residuum len(a.col1)=10. Aber als ich ein anderes Beispiel durchging, konnte ich sehen, dass sowohl die …
Ich habe eine gespeicherte Prozedur, die Ergebnisse aus einer indizierten Ansicht über einen übergeordneten Index zurückgibt. Normalerweise läuft es schnell (~ 10ms), manchmal kann es bis zu 8 Sekunden dauern. Hier ist ein Beispiel für eine zufällige Ausführung (Hinweis: Dies ist keine langsame Ausführung, aber der Abfragetext ist abgesehen vom …
Im folgenden Abfrageplan-Snippet scheint es offensichtlich, dass die Zeilenschätzung für den ConcatenationOperator ~4.3 billion rowsoder die Summe der Zeilenschätzungen für seine beiden Eingaben sein sollte. Es wird jedoch eine Schätzung von ~238 million rowserstellt, die zu einem Suboptimum Sort/ Stream Aggregateeiner Suboptimalstrategie führt, bei der Hunderte von GB an Daten …
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.