PostgreSQL mit Standardeinstellungen, plus default_statistics_target=1000 random_page_cost=1.5 Ausführung PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit Ich habe gesaugt und analysiert. Die Abfrage ist sehr einfach: SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s …
Ich habe eine Abfrage, bei der mit select *nicht nur viel weniger Lesevorgänge, sondern auch deutlich weniger CPU-Zeit als mit select c.Foo. Dies ist die Abfrage: select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId = …
Ich habe die folgenden Tabellen (aus der Sakila-Datenbank): film: film_id ist pkey Schauspieler: actor_id ist pkey film_actor: film_id und actor_id sind Schlüssel zu film / actor Ich wähle einen bestimmten Film aus. Für diesen Film möchte ich auch, dass alle Schauspieler an diesem Film teilnehmen. Ich habe dazu zwei Fragen: …
Gegeben die folgenden Konstanten: Dieselbe Datenbank mit derselben Struktur (Tabellen, Indizes usw.) Die gleichen Daten Dieselbe SQL Server- und Hardwarekonfiguration Die gleichen Statistiken Die gleichen SET-Optionen im Client Dieselben SQL Server-Versionen Die gleichen Ablaufverfolgungsflags Wird SQL Server angesichts dieser Konstanten für eine bestimmte Abfrage immer denselben Plan erstellen? Wenn nicht, …
Sie müssen mir meine Naivität verzeihen, da ich kein DBA bin. Meines Wissens nach müssen die Statistiken einer Datenbankänderung und einer gespeicherten Prozedur im Laufe der Zeit neu kompiliert werden, um den Abfrageplan mit den neuesten Statistiken auf dem neuesten Stand zu halten. Angenommen , ich habe eine gespeicherte Prozedur …
Ich durchsuche den Plan-Cache, suche nach niedrig hängenden Optimierungsfrüchten und bin auf dieses Snippet gestoßen: Warum sind viele der Kosten über 100% aufgeführt? Sollte das nicht unmöglich sein?
Wir haben kürzlich eine von uns verwendete Anwendung aktualisiert, bei der das Schema für die Datenbank geändert wurde. Diese Änderungen hätten dazu führen können, dass zwischengespeicherte Ausführungspläne verworfen wurden. Wenn SQL Server gezwungen gewesen wäre, eine Reihe neuer Pläne zu erstellen, hätte dies die Benutzererfahrung möglicherweise verlangsamt. Ich würde gerne …
Funktioniert SentryOne Plan Explorer wie angekündigt und ist es legitim? Gibt es irgendwelche Fallstricke oder etwas, um das man sich Sorgen machen muss? Es sieht so aus, als ob es den heißen Pfad in Farbe zeigt, der mit dem Albtraum von SSMS einer Ansicht für den geschätzten Ausführungsplan verglichen wird. …
Installieren: create table dbo.T ( ID int identity primary key, XMLDoc xml not null ); insert into dbo.T(XMLDoc) select ( select N.Number for xml path(''), type ) from ( select top(10000) row_number() over(order by (select null)) as Number from sys.columns as c1, sys.columns as c2 ) as N; Beispiel-XML für …
Ich führe diese Abfrage in der AdventureWorks2012- Datenbank aus: SELECT s.SalesOrderID, d.CarrierTrackingNumber, d.ProductID, d.OrderQty FROM Sales.SalesOrderHeader s JOIN Sales.SalesOrderDetail d ON s.SalesOrderID = d.SalesOrderID WHERE s.CustomerID = 11077 Wenn ich mir den geschätzten Ausführungsplan ansehe, sehe ich Folgendes: Die anfängliche Indexsuche (oben rechts) verwendet den Index IX_SalesOrderHeader_CustomerID und durchsucht das …
Ich verwende SQL Server 2012 Enterprise. Ich bin auf einen SQL-Plan gestoßen, der ein Verhalten aufweist, das ich nicht ganz intuitiv finde. Nach einem umfangreichen parallelen Index-Scan-Vorgang wird ein Parallelismus-Vorgang (Repartition Streams) ausgeführt, der jedoch die vom Index-Scan zurückgegebenen Zeilenschätzungen (Object10.Index2) beendet und die Schätzung auf 1 reduziert. Ich habe …
Laut dieser Antwort profitiert die Abfrage nicht von einem Index, es sei denn, ein Index wird über die Spalten erstellt, die zum Einschränken verwendet werden. Ich habe diese Definition: CREATE TABLE [dbo].[JobItems] ( [ItemId] UNIQUEIDENTIFIER NOT NULL, [ItemState] INT NOT NULL, [ItemPriority] INT NOT NULL, [CreationTime] DATETIME NULL DEFAULT GETUTCDATE(), …
Der Ausführungsplan für Abfragen zeigt standardmäßig keine Sperrdetails an. Ist es möglich, die Sperren zusammen mit dem Typ anzuzeigen, der während der Ausführung einer Abfrage erfasst wurde?
DBCC FREEPROCCACHEfunktioniert nicht in Azure SQL DB. Wie sonst kann ich einen Plan dazu zwingen, sich auf eine Weise aus dem Cache zu werfen, die einem Produktionssystem nicht schadet (dh ich kann nicht einfach ohne weiteres Tische wechseln)? Dies ist speziell für SQL gedacht, das von Entity Framework erstellt wurde. …
In Standard-SQL kann union allnicht garantiert werden , dass das Ergebnis von a in einer beliebigen Reihenfolge vorliegt. So etwas wie: select 'A' as c union all select 'B' Könnte zwei Zeilen in beliebiger Reihenfolge zurückgeben (obwohl in der Praxis in jeder mir bekannten Datenbank "A" vor "B" steht). In …
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.