Als «database-internals» getaggte Fragen

Bei technischen Fragen zur internen Funktionsweise des Datenbankmoduls.

4
Was ist die maximale Anzahl lokaler Variablen, die an der SET-Operation teilnehmen können?
Ich habe eine gespeicherte Prozedur, die Geschäftslogik enthält. Darin habe ich ungefähr 1609 Variablen (frag mich nicht warum, so funktioniert der Motor). Ich versuche SETeine Variable auf den verketteten Wert aller anderen Variablen zu setzen. Als Ergebnis erhalte ich während der Erstellung den Fehler: Meldung 8631, Ebene 17, Status 1, …

2
ZUSAMMENFASSUNG DER DATALENGTHs, die nicht mit der Tabellengröße von sys.allocation_units übereinstimmen
Ich hatte den Eindruck, DATALENGTH()dass ich die Gesamtgröße der Tabelle erhalten würde , wenn ich alle Felder für alle Datensätze in einer Tabelle summieren würde. Irre ich mich SELECT SUM(DATALENGTH(Field1)) + SUM(DATALENGTH(Field2)) + SUM(DATALENGTH(Field3)) TotalSizeInBytes FROM SomeTable WHERE X, Y, and Z are true Ich habe diese Abfrage unten (die …

1
High PAGELATCH_ * und WRITELOG warten. Sind sie verwandt?
Wir sehen sehr hohe PAGELATCH_EX- und PAGELATCH_SH-Wartetypen zusammen mit hohen WRITELOG-Wartezeiten. Ich habe die Abfrage diagnostiziert, die das Warten auf PAGELATCH verursacht, und kann sie beseitigen, indem ich die Einfügungsrate in einen ausgelasteten Cluster-Primärschlüssel reduziere, der mit einem IDENTITY-Wert definiert ist. Ich verstehe, dass dieses Phänomen als Latch-Konflikt beim Einfügen …



3
Wie behandelt SQL Server die Daten für eine Abfrage, bei der nicht genügend Speicherplatz im Puffercache vorhanden ist?
Meine Frage ist, wie SQL Server mit einer Abfrage umgeht, die mehr Datenvolumen in den Puffercache ziehen muss, als Speicherplatz verfügbar ist. Diese Abfrage würde mehrere Verknüpfungen enthalten, sodass die Ergebnismenge in diesem Format noch nicht auf der Festplatte vorhanden ist und die Ergebnisse kompiliert werden müssten. Aber auch nach …

1
Erhalten Sie minimale Protokollierung, wenn Sie Daten in temporäre Tabellen laden
Selbst nach dem Lesen des Leistungshandbuchs zum Laden von Daten bin ich mir nicht sicher, ob es notwendig ist, den TABLOCK-Tabellenhinweis zu einer leeren temporären Tabelle hinzuzufügen, die mit einem Clustered-Index definiert ist, um eine minimale Protokollierung zu erzielen. Offensichtlich wird die temporäre Tabelle in TempDB erstellt, die im EINFACHEN …

1
Räumung des Messplans
Wir haben einen SQL Server 2016 SP1 mit einem maximalen Speicher von 24 GB. Dieser Server verfügt über eine hohe Anzahl von Kompilierungen. Nur 10% dieser Kompilierungen stammen aus Ad-hoc-Abfragen. Daher sollten die neu kompilierten Pläne im Plan-Cache gespeichert werden, aber die Größe des Plan-Cache nimmt nicht zu (ca. 3,72 …

1
Index Suchbetreiberkosten
Für die folgende AdventureWorks- Beispieldatenbankabfrage: SELECT P.ProductID, CA.TransactionID FROM Production.Product AS P CROSS APPLY ( SELECT TOP (1) TH.TransactionID FROM Production.TransactionHistory AS TH WHERE TH.ProductID = P.ProductID ORDER BY TH.TransactionID DESC ) AS CA; Die Ausführungsplan zeigt eine geschätzte Betriebskosten von 0.0850383 (93%) für den Index Seek : Die Kosten …



1
Wie funktioniert OpenRowset (TABLE…) intern?
Ich sehe viele interne Ansichten, wie zum Beispiel sys.syscommentsAnrufe tätigen CROSS APPLY OpenRowset(TABLE, oid). Ich frage mich, wie diese Funktion funktioniert und woraus sie liest. Schauen wir uns ein Beispiel an mit TABLE SQLSRC: sys.syscomments OpenRowset(TABLE SQLSRC, o.id, 0)( oist sys.sysschobjs$) OpenRowset(TABLE SQLSRC, c.object_id, c.column_id)( cist sys.computed_columns) OpenRowset(TABLE SQLSRC, p.object_id, …

1
Warum läuft eine Set Returning Function (SRF) in einer FROM-Klausel langsamer?
Dies ist eine datenbankinterne Frage. Ich verwende PostgreSQL 9.5 und frage mich, warum Set Returning Functions (SRFs), auch als TVFs (Table Valued Functions) bezeichnet, in einer FROMKlausel langsamer ausgeführt werden , z. B. wenn ich diese Befehle ausführe. CREATE TABLE foo AS SELECT * FROM generate_series(1,1e7); SELECT 10000000 Time: 5573.574 …



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.