SAPфорум.RU https://www.sapboard.ru/forum/ |
|
Объект блокировки для таблицы с большим ключом https://www.sapboard.ru/forum/viewtopic.php?f=13&t=81057 |
Страница 1 из 1 |
Автор: | MaaLL [ Пн, фев 11 2013, 14:50 ] |
Заголовок сообщения: | Объект блокировки для таблицы с большим ключом |
Добрый день, Подскажите, можно ли создать объект блокировки для таблицы, ключ которой больше 300 байт? Мне постоянно выдает ошибку DI776. |
Автор: | vahtang [ Пн, фев 11 2013, 15:25 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
Предлагаю расчитывать по ключу какой-либо хэш (например MD5), и в ФМ блокировки передавать его. Для этого есть ФМ CALCULATE_HASH_FOR_CHAR. |
Автор: | MaaLL [ Пн, фев 11 2013, 16:06 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
Проблема в том, что ФМ блокировки не генерируются, так как объект просто не активируется, если длинна ключа в таблице больше! |
Автор: | trop [ Пн, фев 11 2013, 20:07 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
так блокирует то логически, т.е. ,как вариант для простого случая, можете создать объект блокировки на любую другую таблицу с нужным ключом, или изменить ф/м и вызовы под свои нужды можете показать здесь свой длинный ключ? |
Автор: | Удав [ Пн, фев 11 2013, 21:19 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
MaaLL написал(а): Проблема в том, что ФМ блокировки не генерируются, так как объект просто не активируется, если длинна ключа в таблице больше! Так сделайте ключом для таблицы поле типа GUID или хэш, как предлагает vahtang . Зачем нужен такой длинный первичный ключ? |
Автор: | Parazit [ Пн, фев 11 2013, 23:46 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
Создать структуру с одним хеш-полем и создать на нее (вместо таблицы) объект блокировки. |
Автор: | Maksimus [ Пн, янв 16 2023, 06:47 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
Есть таблица с большим ключом, объект блокировки на нее создать не получается, но есть постоянные проблемы с ее обновлением: теряем записи при обновлении без блокировки. Таблица хранит больше сотни млн. записей, используется в большом количестве решений, в т.ч. смежным функционалом. Т.е. модифицировать ключ таблицы рискованно и трудозатратно. Может, посоветуете какие-то решения из практики? |
Автор: | UKY [ Пн, янв 16 2023, 13:20 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
В голову приходит только создание другой новой структуры и делать блокировку для неё (например, чтобы блокировался целый блок из оригинальной таблицы), либо делать блокировку на уровне БД (SELECT SINGLE * FOR UPDATE), но это чревато производительностью, если программы будут долго и много блокировать записи. |
Автор: | Kengur [ Пн, янв 16 2023, 19:19 ] |
Заголовок сообщения: | Re: Объект блокировки для таблицы с большим ключем |
Блокировку можно сделать на базе своей структуры. Длинный ключ изначально плохая идея. 3-4 поля с хорошей кардинальностью. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |