Pytania otagowane jako locking

Mechanizm zarządzania równoczesnym dostępem do współużytkowanych danych lub zasobów przez tymczasowy wyłączny dostęp do procesów żądających blokady.

1
Jak zamienić tabele w MySQL?
Załóżmy, że mam tabelę foo, która zawiera pewne statystyki, które są obliczane co jakiś czas. Jest intensywnie wykorzystywany przez inne zapytania. Dlatego chcę obliczyć najnowsze statystyki foo_newi zamienić je, gdy obliczenia będą gotowe. mógłbym zrobić ALTER TABLE foo RENAME foo_tmp; ALTER TABLE foo_new RENAME foo; ale co się stanie, jeśli …



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 …

3
Dodawanie kolumn do tabel produkcyjnych
Jaki jest najlepszy sposób dodawania kolumn do dużych tabel produkcyjnych w SQL Server 2008 R2? Według książek Microsoftu online: Zmiany określone w ALTER TABLE są wdrażane natychmiast. Jeśli zmiany wymagają modyfikacji wierszy w tabeli, ALTER TABLE aktualizuje wiersze. ALTER TABLE uzyskuje blokadę modyfikacji schematu w tabeli, aby upewnić się, że …


3
Jak anulować żądanie blokady aplikacji w programie SQL Server?
Sp_getapplock procedury przechowywanej następujące wartości powrotne: 0: Blokada została pomyślnie przyznana synchronicznie. 1: Blokada została przyznana pomyślnie po oczekiwaniu na zwolnienie innych niezgodnych blokad. -1: Upłynął limit czasu żądania blokady. -2: Żądanie blokady zostało anulowane. -3: Żądanie blokady zostało wybrane jako ofiara zakleszczenia. -999: Wskazuje sprawdzenie poprawności parametru lub inny …

6
Czy mogę polegać na wczytywaniu wartości tożsamości programu SQL Server w kolejności?
TL; DR: Poniższe pytanie sprowadza się do: Podczas wstawiania wiersza istnieje okno możliwości między wygenerowaniem nowej Identitywartości a zablokowaniem odpowiedniego klucza wiersza w indeksie klastrowym, w którym zewnętrzny obserwator mógłby zobaczyć nowszą Identity wartość wprowadzona przez równoległą transakcję? (W SQL Server.) Wersja szczegółowa Mam tabelę programu SQL Server z Identitykolumną …

3
Uzasadnij NIE używanie podpowiedzi (nolock) w każdym zapytaniu
Czy kiedykolwiek musiałeś uzasadnić NIE używanie podpowiedzi do zapytania? Widzę WITH (NOLOCK)w każdym zapytaniu, które trafia na bardzo zajęty serwer. Do tego stopnia, że ​​programiści uważają, że powinna ona być domyślnie włączona, ponieważ nie znoszą jej w kodzie tysiące razy. Próbowałem wyjaśnić, że pozwala to na brudne odczyty i w …


6
Czy w Sql Server można sprawdzić, czy wybrana grupa wierszy jest zablokowana, czy nie?
Próbujemy zaktualizować / usunąć dużą liczbę rekordów w wielomiliardowej tabeli wierszy. Ponieważ jest to popularny stół, w różnych jego częściach jest dużo aktywności. Wszelkie duże działania związane z aktualizacją / usuwaniem są blokowane przez dłuższy czas (ponieważ czeka na uzyskanie blokad wszystkich wierszy lub blokad strony lub tabeli), co powoduje …


2
Wykrywanie zablokowanej tabeli lub wiersza w programie SQL Server
Próbuję zrozumieć / nauczyć się, jak wyśledzić szczegóły zablokowanej sesji. Więc stworzyłem następującą konfigurację: create table foo (id integer not null primary key, some_data varchar(20)); insert into foo values (1, 'foo'); commit; Teraz łączę się z bazą danych dwukrotnie od dwóch różnych klientów. Problemy z pierwszą sesją: begin transaction update …

2
Zablokuj UTWÓRZ TABELĘ
W innej aplikacji zostałem dotknięty złym projektem: wiele wątków wykonuje EnsureDatabaseSchemaExists()jednocześnie metodę, która wygląda tak: IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MyTable') AND type = N'U') BEGIN CREATE TABLE MyTable ( ... ); END Jednak nawet jeśli zostanie wykonany w transakcji SERIALIZABLE, kod ten nie wydaje …

2
W SQL Server, jak działają blokady odczytu?
Załóżmy, że mam następujące długo działające zapytanie UPDATE [Table1] SET [Col1] = 'some value' WHERE [Col2] -- some clause which selects thousands of rows i załóżmy, że następujące zapytanie jest wykonywane podczas działania powyższego zapytania SELECT * FROM [Table1] Czy pierwsze zapytanie uniemożliwia uruchomienie drugiego zapytania do momentu wykonania pierwszego …

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.