Prowadzę ciągłą debatę z różnymi programistami w moim biurze na temat kosztu indeksu i tego, czy unikalność jest korzystna czy kosztowna (prawdopodobnie obie). Sednem problemu są nasze konkurujące zasoby. tło Wcześniej czytałem dyskusję, w której stwierdzono, że Uniqueindeks nie jest dodatkowym kosztem do utrzymania, ponieważ Insertoperacja domyślnie sprawdza, gdzie mieści …
Rozważ następujące zapytanie, które wstawia wiersze z tabeli źródłowej tylko wtedy, gdy nie ma ich już w tabeli docelowej: INSERT INTO dbo.HALLOWEEN_IS_COMING_EARLY_THIS_YEAR WITH (TABLOCK) SELECT maybe_new_rows.ID FROM dbo.A_HEAP_OF_MOSTLY_NEW_ROWS maybe_new_rows WHERE NOT EXISTS ( SELECT 1 FROM dbo.HALLOWEEN_IS_COMING_EARLY_THIS_YEAR halloween WHERE maybe_new_rows.ID = halloween.ID ) OPTION (MAXDOP 1, QUERYTRACEON 7470); Jeden z …
Gdy funkcja FILESTREAM zostanie aktywowana na Microsoft SQL Server 2012, wówczas SQL Server utworzy „ukryty” udział w systemie. Udział jest zdefiniowany w następujący sposób: Sharename FILESTREAM_SHARE Path \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE Remark SQL Server FILESTREAM share Maximum users unlimited Users Caching Manual caching of documents Permissions NT-AUTHORITY\Authenticated Users, FULL Nazwa to nazwa udziału …
O ile mi wiadomo, kolejność przetwarzania kwerend logicznych, która jest konceptualną kolejnością interpretacji, zaczyna się od FROM w następujący sposób: OD GDZIE GRUPUJ WEDŁUG MAJĄCY WYBIERZ ZAMÓW PRZEZ Po tej liście łatwo jest zrozumieć, dlaczego nie można wybrać WYBIERAJ aliasów w klauzuli WHERE, ponieważ alias nie został jeszcze utworzony. T-SQL …
Usiłuję lepiej zrozumieć, jak silnik wykonawczy SQL Server zachowuje się w stanie niskiej pamięci. Mówiąc o dotacjach pamięci, zastanawiam się, czy istnieje jakiś sposób, aby zmusić GrantedMemorydo bycia równym RequiredMemory. (Domyślam się, że istnieje nieudokumentowana flaga śledzenia, która to zrobi. Czy ktoś wie, co to jest?)
Co powoduje, że legalne jest przekazywanie nazwy obiektu do procedury przechowywanej w systemie sp_helptext? Jaki mechanizm konwertuje nazwę obiektu na ciąg? na przykład -- works sp_helptext myproc sp_helptext [myproc] sp_helptext [dbo.myproc] -- and behaves the same as a string sp_helptext 'myproc' sp_helptext 'dbo.myproc' -- does not work sp_helptext dbo.myproc -- …
W SQL Server 2008 R2 czym różnią się te dwa wycofania: Uruchom ALTERinstrukcję przez kilka minut, a następnie naciśnij „Anuluj wykonywanie”. Całkowite cofnięcie zajmuje kilka minut. Uruchom tę samą ALTERinstrukcję, ale upewnij się, że LDFplik nie jest wystarczająco duży, aby mógł zakończyć się powodzeniem. Po osiągnięciu LDFlimitu i braku zezwolenia …
Nadal czytam na wielu forach i na wielu blogach, że strona składa się, jak pokazano poniżej: Rozmiar strony: 16 x 512B = 8192B Nagłówek strony: = 96B Maksymalny wiersz w rzędzie: = 8060B To pozostawia (8192 - 96 - 8060) B = 36B. Ok, to jest logiczne i poprawne. Pytanie, …
Przykładowy kod w tym elemencie łączenia Pokazuje błąd gdzie SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item = L2.csv_item Zwraca prawidłowe wyniki. Jednak poniższe wyniki zwracają niepoprawne wyniki (w 2014 r. Przy użyciu nowego narzędzia Kardynalność) SELECT (SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON …
Sprawdź to zapytanie. To dość proste (definicje tabel i indeksów oraz skrypt repro znajdują się na końcu wpisu): SELECT MAX(Revision) FROM dbo.TheOneders WHERE Id = 1 AND 1 = (SELECT 1); Uwaga: „ORAZ 1 = (WYBIERZ 1) ma jedynie na celu uniknięcie automatycznej parametryzacji tego zapytania, co - jak się …
Mam nadzieję, że ktoś może skierować mnie w tym kierunku. Oto moje dotychczasowe działania. SELECT * FROM sys.identity_columnsjest widokiem systemu, który daje „ostatnią wartość”, ale definicja tego widoku używa funkcji wewnętrznej IdentityProperty(colName, 'LastValue')- więc to ślepy zaułek (nie wyciąganie go z tabeli systemowej). Wszędzie (szukałem) w Internecie sugeruje użycie DBCC …
W standardowym języku SQL wynik a union allnie jest gwarantowany w żadnej kolejności. Coś w stylu: select 'A' as c union all select 'B' Może zwrócić dwa wiersze w dowolnej kolejności (chociaż w praktyce w dowolnej znanej mi bazie danych „A” pojawi się przed „B”). W SQL Server zamienia się …
Próbuję uzyskać listę stron dla tabeli zawierającej wiersze z ROW_OVERFLOW_DATA. Mogę uzyskać listę przydzielonych stron z nieudokumentowanego DMV, sys.db_db_database_page_allocationsjednak wydaje się, że nie ma żadnych ROW_OVERFLOW_DATA stron wymienionych w danych wyjściowych tego DMV. Czy jest jakiś inny DMV, którego po prostu nie mogę zlokalizować? Minimalny, kompletny i (miejmy nadzieję) weryfikowalny …
Jako uproszczony przykład, załóżmy, że mam taką tabelę: seq | value ----+------ 102 | 11954 211 | 43292 278 | 19222 499 | 3843 Tabela może zawierać setki milionów rekordów i muszę często zadawać takie zapytania: SELECT sum(value) WHERE seq > $a and seq < $b Nawet jeśli seqjest indeksowane, …
W blogu Craig Freedman, w zagnieżdżonych pętli Dołącz wyjaśnia dlaczego zagnieżdżone pętle przystąpić nie może poprzeć prawo sprzężenia zewnętrznego: Problem polega na tym, że skanujemy wewnętrzną tabelę wiele razy - raz dla każdego rzędu sprzężenia zewnętrznego. Podczas tych wielu skanów możemy napotkać te same wewnętrzne rzędy wiele razy. W którym …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.