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


1
Wolne zamówienie przez SQL Server
W mojej aplikacji mam zapytanie, które wykonuje wyszukiwanie w tabeli „plików”. Tabela „pliki” jest podzielona na „f”. „Utworzono” (patrz definicja tabeli i ma ~ 26 milionów wierszy dla klienta 19 („f”. „Cid = 19). Chodzi o to, że jeśli wykonam to zapytanie: SELECT "f"."id" AS "FileId" , "f"."name" AS "FileName" …

3
Wyzwanie związane z zapytaniem: tworzenie wiader o równej wielkości w oparciu o liczbę miar, a nie wierszy
Opiszę problem w kategoriach załadowania stałej liczby ciężarówek z zamówieniami, tak równo, jak to możliwe. Wejścia: @TruckCount - the number of empty trucks to fill Zestaw: OrderId, OrderDetailId, OrderDetailSize, TruckId (initially null) Ordersskładają się z jednego lub więcej OrderDetails. Wyzwaniem jest przypisanie TruckIddo każdego rekordu. Pojedynczego zamówienia nie można podzielić …

1
Jak odfiltrować wykorzystanie funkcji skalarnej wartości zdefiniowanej przez użytkownika z danych audytu programu SQL Server?
Mamy bazę danych SQL Server, która ma specyfikację kontroli bazy danych, która kontroluje wszystkie działania wykonywane w bazie danych. CREATE DATABASE AUDIT SPECIFICATION [dbAudit] FOR SERVER AUDIT [servAudit] ADD (EXECUTE ON DATABASE::[DatabaseName] BY [public]) Odkryliśmy, że niektóre zapytania zapisują w dzienniku kontroli użycie funkcji skalarnej dla każdego wiersza w zestawie …

3
Emuluj funkcję skalarną zdefiniowaną przez użytkownika w sposób, który nie zapobiega równoległości
Próbuję sprawdzić, czy istnieje sposób, aby oszukać SQL Server, aby używał określonego planu dla zapytania. 1. Środowisko Wyobraź sobie, że masz jakieś dane, które są współużytkowane przez różne procesy. Załóżmy, że mamy wyniki eksperymentów, które zajmują dużo miejsca. Następnie dla każdego procesu wiemy, który rok / miesiąc wyniku eksperymentu chcemy …

2
Znajdź nieskompresowany rozmiar wszystkich tabel w bazie danych
W Dynamics AX istnieje mechanizm buforowania, w którym tabele można skonfigurować tak, aby były ładowane do pamięci i buforowane. Ta pamięć podręczna jest ograniczona do pewnej liczby KB, aby zapobiec problemom z pamięcią. Ustawienie, o którym mówię, jest wywoływane entiretablecachei ładuje cały stół do pamięci, gdy tylko żądany jest pojedynczy …

1
Dlaczego obcinanie tabeli tymczasowej na końcu procedury składowanej, która powoduje, że zwalnia ona miejsce w tempdb szybciej?
SQL Server buforuje tabele tymczasowe utworzone w ramach procedur przechowywanych i po prostu zmienia ich nazwy po zakończeniu procedury, a następnie jej wykonaniu. Moje pytanie dotyczy momentu zwolnienia przestrzeni tempdb. Czytałem, że tabela jest obcinana na końcu procedury . Czytałem w komentarzach, że jest to obsługiwane na podstawie sesji i …

2
Co to jest „tabela przejściowa” w Postgres?
Strona opisująca nowości w Postgres 10 wspomina o „tabelach przejścia dla wyzwalaczy”. Tabele przejściowe dla wyzwalaczy Ta funkcja sprawia, że AFTER STATEMENTwyzwalacze są zarówno użyteczne, jak i wydajne, narażając, odpowiednio, stare i nowe wiersze na zapytania. Przed tą funkcją AFTER STATEMENTwyzwalacze nie miały do ​​nich bezpośredniego dostępu, a obejścia były …

3
Czy dziennik SQL Server rejestruje niezaangażowane operacje?
Często widzę takie oświadczenia, jak log serwera SQL, który rejestruje każdą transakcję i operację. Ale jestem mylić o tym, co się dzieje, gdy transakcja zostanie ostatecznie walcowane powrotem . Powiedzmy wyraźna transakcja ma 3 oświadczenia: statement A, statement B, statement C, i wreszcie rollback statement D. Teraz powiedz, kiedy wykonanie …
12 sql-server 

3
Dlaczego operator równoległości (strumieni podziału) zredukowałby szacunki rzędu do 1?
Korzystam z programu SQL Server 2012 Enterprise. Natknąłem się na plan SQL, który wykazuje pewne zachowania, których nie uważam za całkowicie intuicyjne. Po ciężkiej operacji Parallel Index Scan dochodzi do operacji Parallelism (Repartition Streams), ale zabija oszacowania wierszy zwracane przez skanowanie indeksu (Object10.Index2), zmniejszając oszacowanie do 1. Przeprowadziłem pewne wyszukiwanie, …

5
Wypełnianie brakujących danych na podstawie wartości z końca poprzedniego miesiąca
Biorąc pod uwagę następujące dane: create table #histories ( username varchar(10), account varchar(10), assigned date ); insert into #histories values ('PHIL','ACCOUNT1','2017-01-04'), ('PETER','ACCOUNT1','2017-01-15'), ('DAVE','ACCOUNT1','2017-03-04'), ('ANDY','ACCOUNT1','2017-05-06'), ('DAVE','ACCOUNT1','2017-05-07'), ('FRED','ACCOUNT1','2017-05-08'), ('JAMES','ACCOUNT1','2017-08-05'), ('DAVE','ACCOUNT2','2017-01-02'), ('PHIL','ACCOUNT2','2017-01-18'), ('JOSH','ACCOUNT2','2017-04-08'), ('JAMES','ACCOUNT2','2017-04-09'), ('DAVE','ACCOUNT2','2017-05-06'), ('PHIL','ACCOUNT2','2017-05-07') ; ... co oznacza, kiedy dany użytkownik został przypisany do konta. Chcę ustalić, kto był właścicielem danego …

2
Brakuje planów wykonania procedur przechowywanych
Jakie są przyczyny braku planu w pamięci podręcznej dla procedur przechowywanych? WITH RECOMPILE Dynamiczny SQL Zaszyfrowany kod Znaczące zmiany danych Zaktualizuj statystyki Co jeszcze? Pracowałem ostatnio na 2 serwerach (SQL Server 2008 R2 i SQL Server 2012), które nie miały planów w pamięci podręcznej dla bardzo przechowywanych procedur o dużym …

3
Bardzo wolne proste zapytanie DOŁĄCZ
Prosta struktura DB (na forum online): CREATE TABLE users ( id integer NOT NULL PRIMARY KEY, username text ); CREATE INDEX ON users (username); CREATE TABLE posts ( id integer NOT NULL PRIMARY KEY, thread_id integer NOT NULL REFERENCES threads (id), user_id integer NOT NULL REFERENCES users (id), date timestamp …

2
Co oznacza [OD x, y] w Postgres?
Właśnie zaczynam pracę z Postgres. Czytając ten dokument natknąłem się na to zapytanie: SELECT title, ts_rank_cd(textsearch, query) AS rank FROM apod, to_tsquery('neutrino|(dark & matter)') query WHERE query @@ textsearch ORDER BY rank DESC LIMIT 10; Mogę zrozumieć wszystko, co w tym zapytaniu, z wyjątkiem tego: FROM apod, .... Co to …
12 postgresql  join 

2
Czy mogę zmienić to zapytanie, aby działało równolegle?
Mam zapytanie, które działa na naszym serwerze około 3 godzin - i nie korzysta z przetwarzania równoległego. (około 1,15 miliona rekordów dbo.Deidentified, 300 rekordów w dbo.NamesMultiWord). Serwer ma dostęp do 8 rdzeni. UPDATE dbo.Deidentified WITH (TABLOCK) SET IndexedXml = dbo.ReplaceMultiWord(IndexedXml), DE461 = dbo.ReplaceMultiWord(DE461), DE87 = dbo.ReplaceMultiWord(DE87), DE15 = dbo.ReplaceMultiWord(DE15) WHERE …

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.