Pytania otagowane jako sql-server

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.


1
DELETE vs TRUNCATE
Próbuję lepiej zrozumieć różnice między poleceniami DELETEi TRUNCATE. Moje rozumienie elementów wewnętrznych przebiega w następujący sposób: DELETE-> aparat bazy danych znajduje i usuwa wiersz z odpowiednich stron danych i wszystkich stron indeksu, w których wiersz jest wprowadzony. Im więcej indeksów, tym dłużej trwa usuwanie. TRUNCATE -> po prostu masowo usuwa …


2
Sprawdź istnienie za pomocą EXISTS, wyprzedzając COUNT! … Nie?
Często czytam, kiedy trzeba sprawdzić istnienie wiersza, zawsze powinno się to odbywać za pomocą ISTNIENIA zamiast LICZENIA. Jednak w kilku ostatnich scenariuszach zmierzyłem poprawę wydajności przy użyciu liczenia. Wzór wygląda następująco: LEFT JOIN ( SELECT someID , COUNT(*) FROM someTable GROUP BY someID ) AS Alias ON ( Alias.someID = …

2
W jaki sposób (i dlaczego) TOP wpływa na plan realizacji?
W przypadku średnio złożonego zapytania, które próbuję zoptymalizować, zauważyłem, że usunięcie TOP nklauzuli zmienia plan wykonania. Zgadłbym, że gdy zapytanie zawiera TOP nsilnik bazy danych, uruchomiłoby zapytanie ignorując TOPklauzulę, a następnie na koniec zmniejszyłem zestaw wyników do n żądanej liczby wierszy. Graficzny plan wykonania wydaje się wskazywać, że tak jest …

4
Czy kolejność kolumn w definicji tabeli ma znaczenie?
Podczas definiowania tabeli pomocne jest uporządkowanie kolumn w grupach logicznych i samych grup według celu. Logiczne uporządkowanie kolumn w tabeli przekazuje znaczenie deweloperowi i jest elementem dobrego stylu. To jasne. Nie jest jednak jasne, czy logiczne uporządkowanie kolumn w tabeli ma jakikolwiek wpływ na ich fizyczne uporządkowanie w warstwie pamięci, …

1
Czy powinienem używać wielu indeksów pojedynczych pól zamiast określonych indeksów wielokolumnowych?
To pytanie dotyczy skuteczności techniki indeksowania programu SQL Server. Myślę, że jest to znane jako „przecięcie indeksu”. Pracuję z istniejącą aplikacją SQL Server (2008), która ma wiele problemów z wydajnością i stabilnością. Programiści zrobili kilka dziwnych rzeczy z indeksowaniem. Nie udało mi się uzyskać jednoznacznych testów porównawczych w tych kwestiach, …


1
GO Po każdej instrukcji T-SQL
Jakie jest uzasadnienie używania instrukcji GO po każdej instrukcji SQL? Rozumiem, że GO sygnalizuje koniec partii i / lub zezwala na reputację wyciągów, ale jaką korzyść ma przy ich użyciu po każdym wyciągu. Jestem ciekawy, ponieważ wiele dokumentów Microsoft itp. Zaczęło z nich korzystać po każdym stwierdzeniu, a może dopiero …

4
Czy NOLOCK jest zawsze zły?
Jestem programistą raportów, który chce, aby moje zapytania były jak najbardziej wydajne. Pracowałem z DBA, który powiedział mi - myślę, że zawsze miałem do czynienia z raportami na serwerze produkcyjnym - do użycia NOLOCKw każdym zapytaniu. Teraz współpracuję z DBA, który zbanował NOLOCKw każdych okolicznościach - nawet gdy mój raport …

1
Jak odczytać koszt zapytania i czy zawsze jest to procent?
Obecnie studiuję pod kątem SQL 70-433 (egzamin Microsoft Certification) i jestem bardzo zdezorientowany co do pomiaru wydajności „kosztu zapytania”. Zgodnie z dowolną dokumentacją, którą mogłem znaleźć za pośrednictwem Google, koszt zapytania jest wartością procentową i reprezentuje procent całej partii zajętej przez dowolną jego część. To już wydawało mi się trochę …
34 sql-server  ssms 

2
Indeks nie przyspiesza wykonywania, aw niektórych przypadkach spowalnia zapytanie. Dlaczego tak jest
Eksperymentowałem z indeksami, aby przyspieszyć działanie, ale w przypadku łączenia indeks nie poprawia czasu wykonywania zapytania, a w niektórych przypadkach spowalnia. Zapytanie dotyczące utworzenia tabeli testowej i wypełnienia jej danymi to: CREATE TABLE [dbo].[IndexTestTable]( [id] [int] IDENTITY(1,1) PRIMARY KEY, [Name] [nvarchar](20) NULL, [val1] [bigint] NULL, [val2] [bigint] NULL) DECLARE @counter …
34 sql-server  index 

3
Suma bieżąca z liczbą?
Jak sugeruje tytuł, potrzebuję pomocy w uzyskaniu bieżącej sumy w języku T-SQL. Problem polega na tym, że suma, którą muszę zrobić, jest sumą liczby: sum(count (distinct (customers))) Powiedz, że gdybym sam wyliczył liczbę, wynik byłby następujący: Day | CountCustomers ---------------------- 5/1 | 1 5/2 | 0 5/3 | 5 Potrzebuję …
34 sql-server  t-sql 

5
Jak poprawnie obsługiwać TimeZone w SQL Server?
Mój lokalny serwer programistyczny znajduje się na Bliskim Wschodzie, ale mój serwer produkcyjny znajduje się w Wielkiej Brytanii. Muszę pokazać użytkownikowi datę w strefie czasowej. Na przykład, jeśli użytkownik jest w Arabii Saudyjskiej, muszę pokazać czas zgodnie z formatem Arabii Saudyjskiej. Czy powinienem utworzyć nową tabelę bazy danych o nazwie …

1
SLEEP_TASK Typ oczekiwania w SQL Server - co to oznacza?
Nie widziałem SLEEP_TASKwcześniej typu oczekiwania i dzisiaj wydaje mi się, że mam ich mnóstwo. Nie jestem oficjalnym DBA, tylko programistą SQL Server, który zna pewne rzeczy DBA. W ostatni weekend zaktualizowaliśmy nasze serwery do 10.52.2500.0- R2SP1. Wszystkie informacje, które mogłem znaleźć w Internecie, wskazują, że SLEEP_TASKoznacza to, że serwer czeka …

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.