Sybase: как блокировка воздействия LOB в ряду - PullRequest
0 голосов
/ 28 ноября 2018

В нашей sybase ASE 15.7 дБ у нас есть таблица с 4 столбцами

uid int
id varchar 32
version varchar 32
xml text

Два индекса на uid и id соответственно;блокировка данных;~ 130 строк данных

У нас также есть размер страницы 2k;xml длина мин. 1012 / макс. 5176 / avr 1837. В настоящее время он находится вне строки LOB

Проблема в том, что иногда простая вставка занимает ~ 10-15 секунд, и я изо всех сил пытаюсь понять, почему.

  1. Может ли кто-нибудь дать какие-либо теории?
  2. Поможет ли LOB в ряду?вероятно, с размером 2000?
  3. В общем, как повлияет блокировка в строке / вне строки?

1 Ответ

0 голосов
/ 03 декабря 2018

Я бы сказал, что вам нужно проверить это, что звучит очевидно, но это ключ к переменам, таким как этот.Что касается текстовых столбцов, то в действительности у вас есть куча данных в конце таблицы, которая может быть фокусом для конфликтов и блокировок.

Тем не менее, в вашем конкретном примере ваш средний размер строки довольноблизко к максимальному размеру (1962 байта) для размера страницы вашего сервера Sybase.Вы не можете установить его на 2000 на сервере страниц 2k, потому что это больше, чем размер вашей страницы в байтах.

Реально вам нужно было бы установить его на 1894, что является вашим максимальным размером строки меньше, чем ваши другие столбцы,но это, вероятно, немного близко к максимуму, поэтому это зависит от того, насколько полны ваши столбцы идентификатора и версии.

Вы также не указываете, какие типы индексов используются, т.е. кластеризованные или некластеризованные, потому что если они 'Вне кластеризации это все еще таблица кучи и может быть предметом последней цепочки конфликтов.Вы также не определяете количество строк в таблице или любую другую информацию о том, почему ваши вставки слишком медленные, например, объем транзакций и т. Д., Поэтому рассмотрите возможность добавления этой информации в ваше сообщение, например, планов запросов и т. Д., Или является ли идентификатор последовательным какгорячая точка для вставок и т. д.

LOB в строке может хорошо работать для нужных данных.

...