Повышение уровня блокировок - Что происходит здесь?

Давайте будем осторожны с нашими определениями здесь

  • , копия Emacs является командой kill-ring-save (обычно связываемый с M-w ).
  • А системная копия - то, что Вы обычно получаете от нажатия C-c (или выбор "Edit-> Copy" в окне приложения).
  • X копий "физически" выделяют текст с курсором мыши.
  • вставка Emacs является командой yank (обычно связываемый с C-y ).
  • А системная вставка - то, что Вы обычно получаете от нажатия C-v (или выбор "Edit-Paste" в окне приложения).
  • X вставок нажатие "center mouse button" (моделируемый путем прижимания левых и правых кнопок мыши друг к другу).

В моем случае (на GNOME):

  • И Emacs и системная копия обычно работают с X вставками.
  • X копий обычно работают со вставкой Emacs.
  • , Чтобы заставить систему скопировать работу со вставкой Emacs и работу копии Emacs с системной вставкой, необходимо добавить (setq x-select-enable-clipboard t) к Вашему .emacs. Или попробуйте

    META-X set-variable RET x-select-enable-clipboard RET t
    

, я думаю, что это - довольно стандартное современное поведение Unix.

также важно отметить (хотя Вы говорите использование Emacs в отдельном окне), что, когда Emacs работает в консоли, это полностью разведено от системы и X буферов обмена: вырезанный и вставленный в этом случае установлен терминалом. Например, "Редактирование-> Вставка" в Вашем окне терминала должна действовать точно, как будто Вы ввели текст от буфера обмена в буфер Emacs.

128
задан Vladimir Baranov 19 September 2018 в 05:02
поделиться

1 ответ

« Lock Escalation » - это то, как SQL обрабатывает блокировку для больших обновлений. Когда SQL собирается изменить много строк, ядру базы данных более эффективно принимать меньшее количество больших блокировок (например, целую таблицу) вместо блокировки множества более мелких вещей (например, блокировок строк).

Но это может быть проблематично, когда у вас огромная таблица, потому что блокировка всей таблицы может заблокировать другие запросы на долгое время. В этом и заключается компромисс: многие блокировки с малой степенью детализации работают медленнее, чем меньшее количество (или одна) блокировок общего назначения, а наличие нескольких запросов, блокирующих разные части таблицы, создает возможность тупиковой ситуации, если один процесс ожидает другого.

параметр уровня таблицы, LOCK_ESCALATION , новый в SQL 2008, который позволяет управлять расширением блокировки. По умолчанию, " позволяет блокировкам переходить на уровень таблицы. DISABLE в большинстве случаев предотвращает эскалацию блокировки на всю таблицу. AUTO разрешает блокировки таблицы, кроме случаев, когда таблица разделена на разделы, и в этом случае блокировки выполняются только до уровня раздела. См. это сообщение в блоге для получения дополнительной информации.

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005 , поэтому вам нужно удалить его, если вы пытаетесь запустить скрипт на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

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

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005 , поэтому вам нужно удалить его, если вы пытаетесь запустить сценарий на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

DISABLE предотвращает эскалацию блокировки на всю таблицу в большинстве случаев. AUTO разрешает блокировки таблицы, кроме случаев, когда таблица разделена на разделы, и в этом случае блокировки выполняются только до уровня раздела. См. это сообщение в блоге для получения дополнительной информации.

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005 , поэтому вам нужно удалить его, если вы пытаетесь запустить сценарий на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

DISABLE в большинстве случаев предотвращает эскалацию блокировки на всю таблицу. AUTO разрешает блокировки таблицы, кроме случаев, когда таблица разделена на разделы, и в этом случае блокировки выполняются только до уровня раздела. См. это сообщение в блоге для получения дополнительной информации.

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005 , поэтому вам нужно удалить его, если вы пытаетесь запустить сценарий на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

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

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005 , поэтому вам нужно удалить его, если вы пытаетесь запустить скрипт на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

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

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005 , поэтому вам нужно удалить его, если вы пытаетесь запустить скрипт на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005, поэтому вам нужно удалить его, если вы пытаетесь запустить скрипт на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

Я подозреваю, что IDE добавляет этот параметр при повторном создании таблицы, потому что TABLE является значением по умолчанию в SQL 2008. Обратите внимание, что LOCK_ESCALATION не поддерживается в SQL 2005, поэтому вам нужно удалить его, если вы пытаетесь запустить скрипт на экземпляре 2005 года. Кроме того, поскольку по умолчанию используется ТАБЛИЦА, вы можете безопасно удалить эту строку при повторном запуске сценария.

Также обратите внимание, что в SQL 2005 до того, как этот параметр присутствовал, все блокировки могли перейти на уровень таблицы - другими словами, «ТАБЛИЦА» была единственной настройкой в ​​SQL 2005.

161
ответ дан 24 November 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: