Pytania otagowane jako query-performance

W przypadku pytań dotyczących poprawy wydajności i / lub wydajności zapytań do bazy danych.


1
Dlaczego dołączenie do eliminacji nie działa z sys.query_store_plan?
Poniżej przedstawiono uproszczenie problemu z wydajnością występującego w magazynie zapytań: CREATE TABLE #tears ( plan_id bigint NOT NULL ); INSERT #tears (plan_id) VALUES (1); SELECT T.plan_id FROM #tears AS T LEFT JOIN sys.query_store_plan AS QSP ON QSP.plan_id = T.plan_id; plan_idKolumna jest udokumentowana jako klucz podstawowy sys.query_store_plan, ale plan wykonania nie …

2
Każda partia powoduje kompilację
Mamy aplikację innej firmy, która wysyła instrukcje T-SQL partiami. Baza danych jest hostowana na SQL Server 2016 Enterprise SP1 CU7, 16 rdzeniach i 256 GB pamięci. Optymalizacja pod kątem Ad-Hoc jest włączona. To jest fikcyjny przykład wykonywanych zapytań: exec sp_executesql N' IF @@TRANCOUNT = 0 SET TRANSACTION ISOLATION LEVEL SNAPSHOT …



1
Dlaczego wskazówka READPAST powoduje ignorowanie widoków indeksowanych?
Badam za pomocą READPASTpodpowiedzi, aby zmniejszyć blokowanie zasobów w podsystemie finansowym naszej aplikacji. Wydawało się, że to dobra droga, ponieważ zapisy transakcji finansowych są tylko dodawane, nigdy nie aktualizowane ani usuwane. Jedynymi wierszami, które można kiedykolwiek pominąć, są nowe wiersze wstawione do transakcji; faktycznie nie istnieją w świecie zewnętrznym, dopóki …

3
Filtrowany indeks używany tylko wtedy, gdy filtrowana część znajduje się w DOŁĄCZ, a nie GDZIE
Utworzyłem filtrowany indeks poniżej, jednak po uruchomieniu 2 zapytań dalej ten indeks jest wykorzystywany tylko do wyszukiwania w pierwszym przykładzie, który zawiera END_DTTM w JOIN, a nie klauzulę where (to jedyna różnica w zapytaniach) . Czy ktoś może wyjaśnić, dlaczego tak się dzieje? Tworzenie indeksu CREATE NONCLUSTERED INDEX [ix_PATIENT_LIST_BESPOKE_LIST_ID_includes] ON …

2
Aktualizuj zapytania wolniej po włączeniu indeksu pełnotekstowego programu SQL Server
Mam witrynę asp.net z wieloma zapytaniami wstawiającymi, aktualizującymi i usuwającymi działającymi na mojej bazie danych. Kilka dni temu tworzę indeks pełnotekstowy na dwóch kolumnach jednej z tabel. Po tym zdałem sobie sprawę, że kiedy witryna uruchamia zapytania dotyczące aktualizacji w tej tabeli, użycie pamięci i dysku w procesie SQL Server …

1
Dlaczego klucz podstawowy (klastrowany) nie jest używany w tym zapytaniu?
Mam tabelę SQL Server 2008 R2, której struktura schematu wygląda następująco: CREATE TABLE [dbo].[CDSIM_BE] ( [ID] [bigint] NOT NULL, [EquipmentID] [varchar](50) NOT NULL, [SerialNumber] [varchar](50) NULL, [PyrID] [varchar](50) NULL, [MeasMode] [varchar](50) NULL, [ReadTime] [datetime] NOT NULL, [SubID] [varchar](15) NULL, [ProbePosition] [float] NULL, [DataPoint] [int] NULL, CONSTRAINT [PK_CDSIM_BE] PRIMARY KEY CLUSTERED …

2
Wolne wyszukiwanie pełnotekstowe z powodu bardzo niedokładnych oszacowań wierszy
Wydaje się, że wykonywanie pełnotekstowych zapytań w tej bazie danych (przechowywanie biletów RT ( Request Tracker )) trwa bardzo długo. Tabela załączników (zawierająca dane pełnotekstowe) ma około 15 GB. Schemat bazy danych jest następujący, ma około 2 milionów wierszy: rt4 = # \ d + załączniki Tabela „public.attachments” Kolumna | …



1
optymalizacja zapytań: przedziały czasowe
Zasadniczo mam dwa rodzaje przedziałów czasowych: presence time i absence time absence time mogą być różnego rodzaju (np. przerwy, nieobecności, specjalne dni itd.), a odstępy czasu mogą się nakładać i / lub przecinać. To nie na pewno, że tylko prawdopodobne kombinacje odstępach istnieć w surowych danych, np. nakładające się interwały …

3
Czy te dwa zapytania są logicznie równoważne?
Czy te dwa zapytania są logicznie równoważne? DECLARE @DateTime DATETIME = GETDATE() Zapytanie 1 SELECT * FROM MyTable WHERE Datediff(DAY, LogInsertTime, @DateTime) > 7 Zapytanie 2 SELECT * FROM MyTable WHERE LogInsertTime < @DateTime - 7 Jeśli nie są logicznie równoważne, czy możesz podać logiczny ekwiwalent pierwszego zapytania, aby klauzula …

3
Wydajność TSQL - DOŁĄCZ od wartości MIĘDZY min. I maks
Mam dwa stoliki, w których przechowuję: zakres adresów IP - tabela przeglądowa kraju lista żądań pochodzących z różnych adresów IP Adresy IP były przechowywane jako bigints, aby poprawić wydajność wyszukiwania. Oto struktura tabeli: create table [dbo].[ip2country]( [begin_ip] [varchar](15) NOT NULL, [end_ip] [varchar](15) NOT NULL, [begin_num] [bigint] NOT NULL, [end_num] [bigint] …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.