Ich arbeite mit einer Tabelle, für die alle Zeichentypen festgelegt nvarcharsind nvarchar(max). Wir konvertieren all dies in varcharund geben eine Zeichenbreite an, die auf der tatsächlichen Verwendung in der Produktion basiert. Die Produktionsdaten verwenden einen Bereich von 2 Zeichen bis zu 900 Zeichen der tatsächlich verwendeten Breite für eine bestimmte …
Ein Beispiel aus dieser Frage zeigt, dass SQL Server einen vollständigen Index-Scan auswählt, um eine Abfrage wie die folgende zu lösen: select distinct [typeName] from [types] Wobei [typeName] einen nicht gruppierten, nicht eindeutigen aufsteigenden Index enthält. Sein Beispiel hat 200 Millionen Zeilen, aber nur 76 eindeutige Werte. Es scheint, als …
Wir haben eine Kundendatenbank, die stark fragmentiert ist - praktisch jede Tabelle mit mehr als 1000 Seiten weist eine Fragmentierung von> 95% auf. Füllfaktoren werden auf sinnvolle Werte gesetzt, aber die Nutzung des Seitenbereichs ist für die meisten Tabellen bei weitem kein Füllfaktor. Dies ist das Ergebnis einer fehlenden Wartung …
Diese Abfrage wird in ~ 21 Sekunden ausgeführt ( Ausführungsplan ): select a.month , count(*) from SubqueryTest a where a.year = (select max(b.year) from SubqueryTest b) group by a.month Wenn die Unterabfrage durch eine Variable ersetzt wird, wird sie in <1 Sekunde ausgeführt ( Ausführungsplan ): declare @year float select …
Ich habe die folgende SQL Server-Abfrage erstellt, aber in SQL Server 2005 tritt ein Anti-Semi-Join-Fehler auf, der zu ungenauen Kardinalitätsschätzungen (1 - urgh!) Führt und für immer ausgeführt wird. Da es sich um einen langjährigen SQL Server für die Produktion handelt, kann ich nicht einfach vorschlagen, Versionen zu aktualisieren, und …
Genau wie die MEMO-Struktur in SQL Server, die eine Art "Papierspur" von Schritten darstellt, die der Optimierer bei der Optimierung der Abfrage unternimmt. Gibt es irgendetwas in MySQL, über das ich Informationen wie die vom Optimierer berücksichtigten Pläne und die Kosten für jeden Plan abrufen kann?
Ich verstehe, dass die Reihenfolge der Spalten im Index selbst von enormer Bedeutung ist. Was ist jedoch mit der Reihenfolge der Spalten in den nachfolgenden SELECT-Abfragen, die diesen Index verwenden? Wenn ich beispielsweise einen mehrspaltigen Index habe [:col_1, :col_2, :col_3], muss meine SELECT-Anweisung so aussehen "SELECT * FROM my_table WHERE …
ypercube hat das Problem gelöst. Unterabfragen waren völlig unnötig, und das Ganze funktioniert mit einfachen Verknüpfungen. Es ist immer noch seltsam, dass der Optimierer von MySQL meine ursprüngliche Abfrage nicht verwenden konnte. Siehe unten für die Frage und viele Details. Plus eine vollständige Lösung am Ende meiner Frage. Es basiert …
Ich arbeite derzeit an einem Projekt, bei dem Massenimportdaten aus Flatfiles (CSV) ungefähr 18 verschiedene Dateien enthalten, die jeweils über eine gespeicherte Prozedur mit einer bestimmten Tabelle verknüpft sind. Ich habe die Schritte im Handbuch zur Leistung beim Laden von Daten ausgeführt . Die Datenbank befindet sich im BulkLoggedWiederherstellungsmodus, um …
Betrachten Sie diese Abfragen ( SQL Fiddle ): Abfrage 1: SELECT * INTO #TMP1 FROM Foo UNION SELECT * FROM Boo UNION SELECT * FROM Koo; Abfrage 2: SELECT * INTO #TMP2 FROM Foo UNION SELECT * FROM Boo UNION ALL SELECT * FROM Koo; Beachten Sie, dass sich Koo …
Wir verwenden eine proprietäre Anwendung, die auf SQL Server 2005 basiert und viele HEAP-basierte Tabellen enthält (dh keinen Clustered-Index). Im Laufe der Jahre sind diese Tabellen stark fragmentiert (z. B. 99% Fragmentierung). Ich muss sie defragmentieren. In SQL Server 2005 gibt es keine Möglichkeit, dies direkt zu tun. Ich kann …
Ich versuche, viele große Zahlen zu speichern, die beim Speichern als INTWerte abgeschnitten werden . Leider sind sie für diesen Typ zu groß. Ich denke darüber nach, Base36- Codierung zu verwenden, um dies zu erreichen. Gibt es andere Möglichkeiten, um dieses Problem zu beheben?
Meine Datenbank ist extrem groß und wächst mit einer Geschwindigkeit von ~ 20 Millionen Zeilen pro Tag. Ich habe Zeitstempeldaten, die wichtig sind, aber der größte Teil der Berichterstattung basiert auf Datumsbereichen und Vergleichen von Woche zu Woche oder Monat zu Monat. Die Zeit wird gelegentlich in den Ergebnismengen angezeigt, …
Ich muss eine Möglichkeit haben, schnell, synchron und mit minimaler Dauer in eine Tabelle einzufügen. Was ich versucht habe ("blind") ist: Habe überhaupt keinen Index auf dem Tisch Wechseln Sie zur einfachen Protokollierung (von der vollständigen Protokollierung) Das von mir verwendete Testszenario besteht aus 100 Verbindungen, die jeweils ein INSERT …
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.