Wszystkie wersje Microsoft SQL Server (nie MySQL). Dodaj również tag specyficzny dla wersji, np. Sql-server-2016, ponieważ często jest on odpowiedni dla pytania.
Na końcu znajduje się skrypt testowy do porównywania wydajności między zmienną @table a tabelą #temp. Myślę, że skonfigurowałem to poprawnie - czasy działania są pobierane poza poleceniami DELETE / TRUNCATE. Wyniki, które otrzymuję są następujące (czasy w milisekundach). @Table Variable #Temp (delete) #Temp (truncate) --------------- -------------- ---------------- 5723 5180 5506 …
Mam instrukcję SQL UPDATE z klauzulą „TOP (X)”, a wiersz, w którym aktualizuję wartości, ma około 4 miliardów wierszy. Kiedy używam „TOP (10)”, otrzymuję jeden plan wykonania, który wykonuje się niemal natychmiast, ale kiedy używam „TOP (50)” lub większego, zapytanie nigdy (przynajmniej nie podczas oczekiwania) kończy się i używa zupełnie …
Profiluję wystąpienie programu SQL Server 2005 i za pomocą SQLServer:SQL Statistics - SQL Compilations/secmetryki PerfMon widzę, że średnia wynosi około 170. Wyciągnąłem SQL Profiler i szukałem zdarzeń SP: Compile lub SQL: Compile. Najwyraźniej nie istnieją. ZnalazłemStored Procedure/SP:Recompile i TSQL/SQL:StmtRecompilewydarzenia. Ilość danych, które widzę w Profiler, sugeruje, że są to niewłaściwe …
Grzebałem w SSMS i zauważyłem, że „rozmiar” moich INTkolumn to 4 bajty (oczekiwane), ale byłem trochę zszokowany widząc, że moje BITkolumny to cały bajt. Czy źle zrozumiałem, na co patrzyłem?
Jest tak, że IDENTITY_INSERT można ustawić na ON tylko w jednej tabeli bazy danych na raz, ale dlaczego? Ponieważ IDENTITYkolumny nie są globalnie unikatowe, nie mogę wymyślić żadnej niebezpiecznej sytuacji, która mogłaby być spowodowana wstawieniem tożsamości do więcej niż jednej tabeli w tym samym czasie (przynajmniej nie bardziej niebezpieczna niż …
Kontekst Opracowujemy system z dużą bazą danych na dole. Jest to baza danych MS SQL działająca na SQL Server 2008 R2. Całkowity rozmiar bazy danych wynosi około 12 GB. Spośród nich około 8,5 GB znajduje się w jednej tabeli BinaryContent. Jak sama nazwa wskazuje, jest to tabela, w której przechowujemy …
Jedną z nowych funkcji programu SQL Server 2012 o nazwie kodowej Denalijest indeks Columnstore. Wiem dobrze o regularnych starych indeksach magazynu wierszy, takich jak struktura b-drzewa, różnice w przechowywaniu między poziomem liścia i stronami b-drzewa, wpływami zawartych pól, optymalizacją ich użycia, kolejnością kluczy itp. Mam trudności z uzyskaniem jakichkolwiek dobrych …
Dlaczego jest tak, że gdy mamy wartość NULL w kolumnie i sortujemy według wartości rosnąco, wartości NULL są najpierw sortowane? select 1 as test union all select 2 union all select NULL union all select 3 union all select 4 order by test prowadzi do NULL 1 2 3 4 …
Wydłużone zdarzenia wydają się lepszą technologią i mniejszym obciążeniem serwera, ale SQL Profiler / perfmon ma lepsze narzędzia. Wydłużone wydarzenia wydają się mieć bardziej stromy przebieg uczenia się. W jakim kontekście należy użyć każdego z nich? Czy warto ominąć stromą krzywą uczenia się, aby skorzystać z rozszerzonych wydarzeń?
Próbowałem znaleźć pewne informacje na temat blokowania w SQL Server, ale nie mogłem znaleźć zwięzłego wyjaśnienia, co to jest i jak to się dzieje. Czy mógłbyś mnie oświecić?
Mamy bardzo dużą bazę danych (~ 6 TB), której plik dziennika transakcji został usunięty (podczas gdy SQL Server był zamknięty. Próbowaliśmy: Odłączanie i ponowne podłączanie bazy danych; i Odzyskiwanie pliku dziennika transakcji ... ale jak dotąd nic nie działało. Aktualnie prowadzimy: ALTER DATABASE <dbname> REBUILD LOG ON (NAME=<dbname>,FILENAME='<logfilepath>') ... ale …
W SQL Server zawsze znajdowałem problem z uzyskaniem maksymalnej liczby wierszy dla zestawu danych, szukam listy metod do uzyskania maksymalnej liczby wierszy z pewnymi wskazówkami dotyczącymi wydajności i łatwości konserwacji. Przykładowa tabela: DECLARE @Test TABLE (ID INT IDENTITY(1,1), name VARCHAR(50), dateOfBirth DATETIME, TaxNumber varchar(10)) INSERT INTO @Test (name, dateOfBirth, TaxNumber) …
Chcę mieć możliwość uruchomienia zapytania, aby uzyskać kluczowe informacje o stanie bazy danych. Tzn. Chcę, aby zapytanie mogło stwierdzić, czy baza danych jest w dobrym stanie, czy nie. Oto zapytanie, które odziedziczyłem dla tej kontroli: SELECT name AS [SuspectDB], DATABASEPROPERTY(name, N'IsSuspect') AS [Suspect], DATABASEPROPERTY(name, N'IsOffline') AS [Offline], DATABASEPROPERTY(name, N'IsEmergencyMode') AS …
Zasugerowano mi, że użycie instrukcji IF w partiach t-SQL jest szkodliwe dla wydajności. Próbuję znaleźć jakieś potwierdzenie lub potwierdzić to twierdzenie. Używam SQL Server 2005 i 2008. Twierdzenie jest następujące: IF @parameter = 0 BEGIN SELECT ... something END ELSE BEGIN SELECT ... something else END SQL Server nie może …
Mam procedurę składowaną ze schematem „SalesTraining”. Chcę zmienić wszystkie schematy SalesTraining na „Sales”. Czy istnieje lepszy sposób niż odtworzenie procedur przechowywanych? dzięki
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.