Вопросы с тегом «locking»

Механизм управления одновременным доступом к совместно используемым данным или ресурсам путем предоставления временно исключительного доступа процессам, запрашивающим блокировку.

51
Как мне поменять местами таблицы в MySQL?

Предположим, у меня есть таблица foo, которая содержит статистику, которая вычисляется время от времени. Он активно используется другими запросами. Вот почему я хочу вычислить более свежую статистику foo_newи поменять ее, когда вычисления будут готовы. я мог бы сделать ALTER TABLE foo RENAME...

35
Проблема с блокировкой при одновременном удалении / вставке в PostgreSQL

Это довольно просто, но я озадачен тем, что делает PG (v9.0). Начнем с простой таблицы: CREATE TABLE test (id INT PRIMARY KEY); и несколько строк: INSERT INTO TEST VALUES (1); INSERT INTO TEST VALUES (2); Используя мой любимый инструмент запросов JDBC (ExecuteQuery), я подключаю два сеансовых окна...

34
NOLOCK всегда плох?

Я разработчик отчетов, который хочет сделать мои запросы максимально эффективными. Раньше я работал с администратором базы данных, который говорил мне - я считаю, потому что я всегда имел дело с отчетами на производственном сервере - для использования NOLOCKв каждом отдельном запросе. Теперь я...

28
Добавление столбцов в производственные таблицы

Каков наилучший способ добавления столбцов в большие производственные таблицы в SQL Server 2008 R2? Согласно книгам Microsoft в Интернете: Изменения, указанные в ALTER TABLE, применяются немедленно. Если изменения требуют изменения строк в таблице, ALTER TABLE обновляет строки. ALTER TABLE получает...

28
Пустой процесс блокировки в отчете о заблокированных процессах

Я собираю отчеты о заблокированных процессах с использованием расширенных событий, и по некоторым причинам в некоторых отчетах blocking-processузел пуст. Это полный XML: <blocked-process-report monitorLoop="383674"> <blocked-process> <process id="processa7bd5b868" taskpriority="0"...

25
Как отменить запрос блокировки приложения в SQL Server?

Sp_getapplock процедура хранится имеет следующие возвращаемые значения: 0: блокировка была успешно предоставлена ​​синхронно. 1: Блокировка была успешно предоставлена ​​после ожидания освобождения других несовместимых блокировок. -1: истекло время ожидания запроса на блокировку -2: запрос на...

25
Управление параллелизмом при использовании шаблона SELECT-UPDATE

Допустим, у вас есть следующий код (пожалуйста, не обращайте внимания, что это ужасно): BEGIN TRAN; DECLARE @id int SELECT @id = id + 1 FROM TableA; UPDATE TableA SET id = @id; --TableA must have only one row, apparently! COMMIT TRAN; -- @id is returned to the client or used somewhere else На мой...

24
Могу ли я рассчитывать на чтение значений идентификаторов SQL Server по порядку?

TL; DR: вопрос ниже сводится к следующему: при вставке строки существует ли окно возможности между генерацией нового Identityзначения и блокировкой соответствующего ключа строки в кластеризованном индексе, где внешний наблюдатель может видеть более новую Identity значение, вставленное параллельной...

23
Обоснуйте НЕ используя (nolock) подсказку в каждом запросе

Вам когда-нибудь приходилось оправдываться, НЕ используя подсказку? Я вижу WITH (NOLOCK)в каждом запросе, который попадает на очень занятый сервер. Дело в том, что разработчики думают, что он должен быть включен по умолчанию, потому что они ненавидят видеть это в своем коде тысячи раз. Я пытался...

22
Как определить, заблокирована ли таблица Oracle или нет?

Мы использовали программное обеспечение BI и базу данных хранилища, которые установлены в Oracle Enterprise 11gR2. Некоторые из этих пакетных отчетов будут пытаться получить доступ к таблице базы данных, которая все еще может быть заблокирована. Как я могу узнать, заблокирована ли таблица Oracle...

21
В Sql Server есть способ проверить, заблокирована ли выбранная группа строк или нет?

Мы пытаемся обновить / удалить большое количество записей в многомиллиардной таблице строк. Поскольку это популярная таблица, в разных разделах этой таблицы много активности. Любая крупная операция по обновлению / удалению блокируется на длительные периоды времени (так как она ожидает блокировки...

20
Обнаружение заблокированной таблицы или строки в SQL Server

Я пытаюсь понять / научиться отслеживать детали заблокированного сеанса. Поэтому я создал следующую настройку: create table foo (id integer not null primary key, some_data varchar(20)); insert into foo values (1, 'foo'); commit; Теперь я подключаюсь к базе данных дважды от двух разных клиентов....

19
Блокировка CREATE TABLE

В другом приложении меня поразил плохой дизайн: несколько потоков одновременно выполняют EnsureDatabaseSchemaExists()метод, который выглядит в основном так: IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MyTable') AND type = N'U') BEGIN CREATE TABLE MyTable ( ... ); END...

17
В SQL Server, как работают блокировки чтения?

Предположим, у меня есть следующий длительный запрос UPDATE [Table1] SET [Col1] = 'some value' WHERE [Col2] -- some clause which selects thousands of rows и предположим, что следующий запрос выполняется во время выполнения вышеуказанного запроса SELECT * FROM [Table1] Предотвращает ли первый запрос...

16
Какова точная связь между транзакцией базы данных и блокировкой?

Это скромный вопрос, заданный в духе расширения моих знаний; будьте любезны в своем ответе. Как давний разработчик приложений, я знаю на каком-то уровне, что такое транзакция (я использую их все время). Оставляя в стороне уровни изоляции транзакций на данный момент, на высоком уровне транзакция...

16
Вызовет ли увеличение задержки в сети блокировки таблиц в MS SQL Server?

Если я делаю один вызов к базе данных SQL Server по сети с высокой задержкой, произойдут ли блокировки таблицы из-за этой задержки? Скажем, я запрашиваю таблицу A для некоторых записей, и SQL Server должен возвращать эти данные по медленной сети - будет ли блокировка чтения в таблице A, пока сервер...

15
Таблица очереди FIFO для нескольких рабочих в SQL Server

Я пытался ответить на следующий вопрос: Какой подход к блокировке SQL Server 2005/2008 следует использовать для обработки отдельных строк таблицы в нескольких экземплярах серверного приложения? После публикации несколько наивного ответа я решил, что положу свои деньги туда, где был мой рот, и на...

15
База данных «заморожена» на ALTER TABLE

Наша производственная среда просто замерла сегодня утром на некоторое время, изменяя таблицу, фактически добавляя столбец. Оскорбляющий SQL:ALTER TABLE cliente ADD COLUMN topicos character varying(20)[]; * Для входа в нашу систему требуется выбрать из той же таблицы, чтобы никто не мог войти во...