169 похожих чатов

Коллеги, всем доброго утра и продуктивного рабочего дня! Прошу совета

- стоит ли делать индекс по первичному ключу таблицы кластерным, если первичный ключ - строковый изначально неупорядоченный uuid? На базе много дедлоков из-за вставок, думаем над переводом проблемных таблиц в кучи.

11 ответов

0 просмотров

однозначного ответа тут нет и многое зависит от дизайна в целом но обычно ответ - нет, не стоит есть классический набор требований к кластерному индексу narrow, immutable, monotonic у вас не выполняются полтора (или два, это уж как посмотреть)

Sergey-Trykin Автор вопроса
Roman Sergeev
однозначного ответа тут нет и многое зависит от ди...

Роман, спасибо! Почитаю про эти требования

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

Mikhail Krupskiy
а целостность данных не нужна? может промежуточные...

как целостность данных связана с параметрами индекса?

Sergey-Trykin Автор вопроса
Mikhail Krupskiy
а целостность данных не нужна? может промежуточные...

мы архитектуру БД менять не можем, а сторонний вендор (разработчик БД) помогать с проблемой дедлоков не спешит, хочет чтобы мы решали на уровне DBA. Поэтому думаем про перевод на кучи, про read commited snapshot, отключение эскалации блокировок, партицирование проблемных таблиц и так далее

Sergey Trykin
мы архитектуру БД менять не можем, а сторонний вен...

а что потом сторонний вендор предлагает делать при обновлении продукта, которое затронет схему? вы сейчас озвучиваете чудовищный сценарий

Sergey Trykin
мы архитектуру БД менять не можем, а сторонний вен...

если вставок много, но они идут не во много потоков, быстро и через хранимки, то можно попробовать черзе app lock сделать эти вставки де-факто последовательными. У нас сработало как промежуточное решение, но время выполнения очевидно вырастает, ибо один вызов хранимки ожидает, пока отработает предыдущий

Sergey-Trykin Автор вопроса

Тут получается надо вендору предлагать, самим в хранимки лучше не лезть. Попробуем тоже, спасибо

Sergey Trykin
Тут получается надо вендору предлагать, самим в хр...

как вариант, на клиенте открывать транзакцию и делать эти локи на том уровне, а потом уже делать вызов хранимки из клиента. Тогда лезть не надо будет.

Sergey Trykin
Тут получается надо вендору предлагать, самим в хр...

вы можете это гипотетически сделать через instead of тригеры

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

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Реально в одиночку написать игровой движок на Си?
ㅤ (SVO)
11
Всем привет, товарищи! Можете меня поздравить, получил "отлично" за дисциплину "языки программирования низкого уровня". Честно говоря, не очень хочу, чтобы основы асма, которы...
Ыиу
1
Карта сайта