Ich habe ein Auto-Index-Tool in unserer MS SQL-Datenbank ausgeführt (ich habe ein Skript geändert, das von Microsoft stammt und die Indexstatistiktabellen untersucht - Automatische Indizierung ). Aus den Statistiken habe ich jetzt eine Liste mit Empfehlungen für Indizes, die erstellt werden müssen. Bearbeiten: Die oben beschriebenen Indizes beziehen Informationen aus …
Ich benutze PostgreSQL 9.1 unter Ubuntu 12.04. Ich muss Datensätze innerhalb eines bestimmten Zeitraums auswählen: Meine Tabelle time_limitsenthält zwei timestampFelder und eine integerEigenschaft. In meiner aktuellen Tabelle befinden sich zusätzliche Spalten, die nicht mit dieser Abfrage verknüpft sind. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); …
Wann wird beim Erstellen von Tabellen aus mehreren Joins zur Verwendung in der Analyse die Verwendung von Ansichten gegenüber dem Erstellen einer neuen Tabelle bevorzugt? Ein Grund, warum ich lieber Ansichten verwenden würde, ist, dass das Datenbankschema von unserem Administrator aus Ruby heraus entwickelt wurde und ich mit Ruby nicht …
Das Folgende ist ein Auszug aus einem Buch über Datenbankdesign (Beginning Database Design ISBN: 0-7645-7490-6): Die Gefahr bei der Verwendung von Ansichten besteht darin, dass eine Abfrage nach einer Ansicht gefiltert wird und erwartet wird, dass ein sehr kleiner Teil einer sehr großen Tabelle gelesen wird. Jede Filterung sollte in …
Ich habe eine Frage wie die folgende: DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers hat 553 Zeilen. tblFEStatsPaperHits hat 47.974.301 Zeilen. tblFEStatsBrowsers: CREATE TABLE [dbo].[tblFEStatsBrowsers]( [BrowserID] [smallint] IDENTITY(1,1) NOT NULL, [Browser] [varchar](50) NOT NULL, [Name] …
Bei einer mäßig komplexen Abfrage, die ich optimieren möchte, ist mir aufgefallen, dass das Entfernen der TOP nKlausel den Ausführungsplan ändert. Ich hätte gedacht, dass, wenn eine Abfrage TOP ndas Datenbankmodul enthält , die Abfrage ausgeführt wird, wobei die TOPKlausel ignoriert wird , und am Ende das Ergebnis auf die …
Ich wurde darauf aufmerksam gemacht, dass das USINGKonstrukt (anstelle von ON) in der FROMKlausel von SELECTAbfragen in bestimmten Fällen Optimierungsbarrieren einführen kann. Ich meine dieses Schlüsselwort: WÄHLEN * Von einem JOIN b USING (a_id) Nur in komplexeren Fällen. Kontext: dieser Kommentar zu dieser Frage . Ich benutze dies oft und …
Untersuchen wir diese beiden Aussagen: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Wenn CONDITION 1ja TRUE, wird CONDITION 2geprüft? Wenn CONDITION 3ja FALSE, wird CONDITION 4geprüft? Was ist mit Bedingungen für WHERE: Optimiert das SQL Server-Modul alle Bedingungen in einer WHEREKlausel? Sollen Programmierer …
Diese Abfrage enthält eine Liste der Beiträge, die von Personen erstellt wurden, denen Sie folgen. Sie können einer unbegrenzten Anzahl von Personen folgen, aber die meisten Personen folgen <1000 anderen. Bei diesem Abfragestil wäre die offensichtliche Optimierung, die "Post"IDs zwischenzuspeichern, aber dafür habe ich momentan leider keine Zeit. EXPLAIN ANALYZE …
In den folgenden Abfragen wird geschätzt, dass beide Ausführungspläne 1.000 Suchvorgänge für einen eindeutigen Index ausführen. Die Suchvorgänge werden von einem geordneten Scan in derselben Quelltabelle gesteuert, sodass anscheinend dieselben Werte in derselben Reihenfolge gesucht werden sollten. Beide verschachtelten Schleifen haben <NestedLoops Optimized="false" WithOrderedPrefetch="true"> Weiß jemand, warum diese Aufgabe bei …
Ich bin auf einige SELECT DISTINCT TOP NAbfragen gestoßen, die vom SQL Server-Abfrageoptimierungsprogramm schlecht optimiert zu sein scheinen. Betrachten wir zunächst ein einfaches Beispiel: eine Million-Zeilen-Tabelle mit zwei abwechselnden Werten. Ich werde die GetNums- Funktion verwenden, um die Daten zu generieren: DROP TABLE IF EXISTS X_2_DISTINCT_VALUES; CREATE TABLE X_2_DISTINCT_VALUES (PK …
Bei SQL Server ist ein interessantes Problem aufgetreten. Betrachten Sie das folgende Reprobeispiel: 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; Geige Bitte vergessen Sie für einen Moment, dass die …
Ich hatte den Eindruck, dass bei Verwendung des LIKEOperators in allen für unbekannte Szenarien optimierten Szenarien sowohl die alten als auch die neuen CEs eine Schätzung von 9% verwenden (vorausgesetzt, dass relevante Statistiken verfügbar sind und der Abfrageoptimierer nicht auf Selektivitätsschätzungen zurückgreifen muss). Wenn ich die folgende Abfrage für die …
Ich stelle diese Frage, um das Verhalten des Optimierers besser zu verstehen und die Grenzen der Index-Spools zu verstehen. Angenommen, ich lege Ganzzahlen von 1 bis 10000 auf einen Haufen: CREATE TABLE X_10000 (ID INT NOT NULL); truncate table X_10000; INSERT INTO X_10000 WITH (TABLOCK) SELECT TOP 10000 ROW_NUMBER() OVER …
Ich sehe häufige Verweise auf WITHAbfragen (allgemeine Tabellenausdrücke oder CTEs), die als Optimierungsbereich fungieren und bei denen der Server keine Filter in die CTE-Abfragen hineinschieben, allgemeine Ausdrücke aus dem CTE herausziehen usw. Es wird oft behauptet ein von den SQL-Standards gefordertes Verhalten sein. CTEs sind definitiv ein Optimierungsfaktor in PostgreSQL …
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.