Скажем, у меня есть одна инструкция insert
, где значения взяты из инструкции select
из другой таблицы. Поэтому многие записи вставляются сразу. У меня есть другой процесс, который просто нужно вставить одну запись. Как я могу заставить SQL Server разрешить выполнение одного оператора вставки более своевременно? По моим наблюдениям, один из них блокируется в течение некоторого времени, пока выполняется множественная вставка. Было бы хорошо, если бы сингл мог «проскользнуть». Я попытался добавить WITH (ROWLOCK)
на вставках.Множественная вставка Statement blocking small one
ответ
Возможно, что массовая вставка возрастает до столовых замков. Вы можете потенциально уменьшить блокировки таблиц, изменив таблицу DDL на LOCK_ESCALATION=DISABLE
, хотя это может привести к ухудшению производительности объемной вставки.
Альтернативой является переписывание навалом INSERT
/SELECT INTO
для внесения в пакеты таким образом, чтобы он никогда не превышал 5000 locks at a time.. Это, однако, изменит объем каждой единицы работы, так как вы теперь будете совершать после каждой небольшой партии, что может быть нежелательно.
Я закончил разбивание на партии. Это единственный способ, которым другие процессы могли своевременно вставлять записи. – BrianK
- 1. SCOPE_IDENTITY() множественная вставка
- 2. Linq Множественная вставка строки
- 3. множественная вставка из подзапроса
- 4. Эффективная множественная вставка SQL
- 5. Множественная вставка PHP MYSQL
- 6. Подготовленного множественная Вставка MySQLi
- 7. множественная вставка таблицы ASP.net MVC
- 8. Множественная вставка в Sql-сервере
- 9. Множественная вставка для каждого столбца
- 10. множественная вставка в службе отдыха
- 11. Множественная вставка в связанные таблицы
- 12. One-Liner with Return Statement
- 13. MySQL Вставка Statement Queue
- 14. SQL множественная вставка и одна группа id
- 15. PHP и MySQLi множественная вставка - Ошибка
- 16. Множественная вставка, основанная на значении поля?
- 17. MYSQL, множественная вставка и ОБНОВЛЕНИЕ DUPLICATE
- 18. SQLite множественная вставка с ошибкой синтаксиса запроса
- 19. PHP MySql PDO Множественная вставка не работает
- 20. Множественная вставка для каждого идентификатора учетной записи?
- 21. множественная вставка строки в Oracle SQL
- 22. Множественная вставка в mysql с использованием php
- 23. множественная вставка с последовательностью проваливается в Postgres
- 24. Mysql множественная одновременная вставка в запросы
- 25. множественная вставка с использованием SQL-запроса
- 26. Множественная вставка/обновление в таблице сеансов Joomla
- 27. Множественная вставка android sqlite для столбцов
- 28. Spring Batch множественная вставка для одного чтения
- 29. Множественная вставка в одном Query Laravel
- 30. Множественная вставка записи при создании базы данных
Можете ли вы контролировать время этих двух процессов, чтобы запустить их в правильном порядке? В противном случае было бы лучше, если бы все было так, как есть. – Szymon
доля код – SK2185
Код только что-то вроде INSERT INTO TABLE A SELECT * FROM TABLE B и второй процесс делает что-то вроде INSERT INTO TABLE ЗНАЧЕНИЯ А (val1, vale2) т.д. Одиночная вставка блокируется табличной вставкой. – BrianK