Administratorzy baz danych

Pytania i odpowiedzi dla profesjonalistów baz danych, którzy chcą poprawić swoje umiejętności baz danych i uczyć się od innych w społeczności

2
Dziwne zachowanie agregacji strumienia
Pytanie: declare @X xml = ' <item ID = "0"/> <item ID = "1"/> <item/> <item/>'; select I.X.value('@ID', 'int') from @X.nodes('/item') as I(X); Wynik: ----------- 0 1 NULL NULL Plan wykonania: Górna gałąź niszczy XML do czterech wierszy, a dolna gałąź pobiera wartość atrybutu ID. To, co wydaje mi się …

2
PostgreSQL: Przekaż tabelę jako argument w funkcji
Ja odkrywając TYPEw PostgreSQL. Mam coś, TABLE TYPEco niektóre tabele muszą respektować (interfejs). Na przykład: CREATE TYPE dataset AS( ChannelId INTEGER ,GranulityIdIn INTEGER ,GranulityId INTEGER ,TimeValue TIMESTAMP ,FloatValue FLOAT ,Status BIGINT ,QualityCodeId INTEGER ,DataArray FLOAT[] ,DataCount BIGINT ,Performance FLOAT ,StepCount INTEGER ,TableRegClass regclass ,Tags TEXT[] ,WeightedMean FLOAT ,MeanData FLOAT ,StdData …

3
DROP USER trwa zbyt długo, gdy jest wielu użytkowników
W wystąpieniu programu SQL Server 2014 z wystarczającą ilością pamięci RAM i szybkimi dyskami ponad 160 użytkowników ma dostęp do bazy danych. Z jakiegoś powodu mi nie wiadomo, uruchomienie polecenia DROP USER [username]w tej bazie danych trwa do 5 sekund na użytkownika. Ponowne przypisywanie użytkowników do loginów i przywracanie ich …

4
Serwer Sql nie używa indeksu przy prostej bijectcji
To kolejna zagadka optymalizatora zapytań. Może po prostu przeszacowuję optymalizatory zapytań, a może coś mi brakuje - więc zamieszczam to. Mam prosty stół CREATE TABLE [dbo].[MyEntities]( [Id] [uniqueidentifier] NOT NULL, [Number] [int] NOT NULL, CONSTRAINT [PK_dbo.MyEntities] PRIMARY KEY CLUSTERED ([Id]) ) CREATE NONCLUSTERED INDEX [IX_Number] ON [dbo].[MyEntities] ([Number]) z indeksem …


1
Wyrażenie CASE zwraca nieprawidłową wartość podczas korzystania z SUFITU
Natknąłem się na problem, w którym CASEwyrażenie nie zwraca tego, czego oczekuję. W ramach testu dodałem zmienną dziesiętną i uruchomiłem CASEprzeciwko niej to samo wyrażenie i działa ono dobrze, zwracając wyniki zgodnie z oczekiwaniami (zaokrąglając wartość w górę, kiedy IsGun=1. Ale kiedy uruchamiam to samo CASEwyrażenie względem innej wartości dziesiętnej, …

3
Dobry przykład MDX vs SQL dla zapytań analitycznych
Czy ktoś może mi pokazać dobry przykład przewagi MDX nad zwykłym SQL podczas wykonywania zapytań analitycznych? Chciałbym porównać zapytanie MDX z zapytaniem SQL, które daje podobne wyniki. Wikipedia mówi : Chociaż niektóre z nich można przetłumaczyć na tradycyjny SQL, często wymagałoby to syntezy niezgrabnych wyrażeń SQL, nawet w przypadku bardzo …
11 olap  mdx 


5
Konwertuj zakres dat na opis interwału
W ostatnim projekcie wymagano podania, kiedy zasób zostanie w pełni wykorzystany. Oprócz daty wyczerpania kalendarza poproszono mnie o pokazanie pozostałego czasu w formacie angielskim, np. „1 rok, 3 miesiące do końca”. Wbudowana DATEDIFFfunkcja Zwraca liczbę ... określonych granic datapart przekroczonych między określoną datą początkową i końcową. Jeśli zastosuje się go …

4
„Id” w formacie: YYYYNNNNNN z częścią NNNNNN uruchamianą co roku
Mam wymaganie biznesowe, aby każdy rekord w tabeli faktur miał identyfikator, który wygląda jak YYYYNNNNNN. Część NNNNNN musi zostać uruchomiona ponownie na początku każdego roku. Tak więc pierwszy wiersz wprowadzony w 2016 roku będzie wyglądał jak 2016000001, a drugi jak 2016000002 itd. Powiedzmy, że ostatni rekord dla 2016 roku to …
11 sql-server  t-sql 


3
Kolejność pól w złożonej kolejności indeksu z polami o wysokiej selektywności i niskiej selektywności
Mam tabelę SQL Server z ponad 3 miliardami wierszy. Jedno z moich zapytań zajmuje bardzo dużo czasu, dlatego rozważam jego optymalizację. Zapytanie wygląda następująco: SELECT [Enroll_Date] ,Count(*) AS [Record #] ,Count(Distinct UserID) AS [User #] FROM UserTable GROUP BY [Enroll_Date] [Data rejestracji] to kolumna o niskiej selektywności z mniej niż …

1
Indeks SEEK nie jest używany, chyba że OPCJA (RECOMPILE)?
(Pytanie przeniesione z SO) Mam tabelę (dane fikcyjne) z indeksem klastrowym zawierającym 2 kolumny: Teraz uruchamiam te dwa zapytania: declare @productid int =1 , @priceid int = 1 SELECT productid, t.priceID FROM Transactions AS t WHERE (productID = @productid OR @productid IS NULL) AND (priceid = @priceid OR @priceid IS …

5
Odwróć wyrażenie logiczne, które może zwrócić NIEZNANY
Przykład Mam stolik ID myField ------------ 1 someValue 2 NULL 3 someOtherValue oraz wyrażenie logiczne T-SQL, które może mieć wartość PRAWDA, FAŁSZ lub (ze względu na logikę potrójną SQL) NIEZNANE: SELECT * FROM myTable WHERE myField = 'someValue' -- yields record 1 Jeśli chcę uzyskać wszystkie inne rekordy , nie …

1
Dlaczego mój indeks może oszacować odpowiednią liczbę wierszy, a operator sortowania nie może?
Mam zapytanie, które korzysta z funkcji w predykacie, mniej więcej tak: commentType = 'EL' AND commentDateTime >= DATEADD(month,datediff(month,0,getdate()) - 13,0) Mam filtrowany indeks na commentType, który ma 40 tys. Wierszy, a kiedy uruchamiam zapytanie, szacunkowa liczba wierszy dla szukania indeksu jest bardzo dokładna (około 11 tys.), Ale w następnym kroku …

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.